wxMaxima:函数中的子索引变量在写为 "x_1" 时有效,但在写为 "x[1]" 时无效

wxMaxima: subindexed variables in functions work when written as "x_1" but not when written as "x[1]"

我在根据带有子索引的变量定义函数时遇到问题。使用 makelist 命令,我可以创建一个依赖于子索引变量 x[1]x[2] 的未指定函数。然而,当我试图给那个函数一个表达式时,wxMaxima 不允许它:

另一方面,如果我将子索引变量写成 x_1x_2 而不是 x[1]x_[2],事情就可以了。

这种行为的原因是什么?这两种分索引方式在功能上不是等价的吗?

只能将符号声明为函数参数。特别是,下标表达式不是符号,因此不能作为函数参数。

WxMaxima 显示以数字结尾的符号,例如 x_1,与下标表达式相同,例如 x[1]。这是为了方便起见,尽管它会造成混淆,因为很难区分两者。

您可以通过 ?print 查看表达式的内部形式(注意问号是名称的一部分)。例如,?print(x_1);?print(x[1]);.