打印一个带有索引的变量 (例如:x_1)

问题描述 投票:0回答:1

我正试图打印带有指数的变量,目标是写一些类似的东西。

x_1 + x_2 = 3 + 1 = 4

问题是,像x_1这样的变量不显示索引。它显示的是下划线本身。

/* works fine */    
print(x_1)$ 
x_1;

/* Does not work */
ostream: make_string_output_stream()$
printf(ostream, string(x_1))$
get_output_stream_string(ostream);

上面代码的输出

将 "x_1 "转换为字符串会破坏下划线,但你需要一个字符串用于printf()方法。

有什么变通的办法吗?

string printf maxima
1个回答
1
投票

这里该怎么做,可能在一定程度上取决于你需要用这个来实现什么目标。你能说说你正在努力实现的更大目标吗?

为了生成有排版指令的输出,你可以调用 textex1 函数来生成TeX输出。如果需要在网页中显示,我相信你可以利用MathJax Javascript库。抱歉,我对MathJax不了解。

你可能应该写 x[1] 而不是 x_1. 显示 x_1 带下标 1 是一种方便 -- Maxima 的其他部分对它了解不多。

编辑:还有一个附加包可以输出MathML;可能有两个这样的包,我得查查。如果MathML能帮助解决你的问题,我会研究一下。

© www.soinside.com 2019 - 2024. All rights reserved.