我无法根据带有子索引的变量定义函数。使用 makelist
命令我可以创建一个未指定的函数,该函数依赖于子索引变量 x[1]
和 x[2]
.但是,当我尝试为该函数提供表达式时,wxMaxima 不允许:
另一方面,如果我将子索引变量写为 x_1
和 x_2
而不是 x[1]
和 x_[2]
,事情确实有效。
这种行为的原因是什么?这两种子索引方法在功能上不是等价的吗?
最佳答案
只有符号可以声明函数参数。特别是,下标表达式不是符号,因此不能是函数参数。
WxMaxima 显示以数字结尾的符号,例如,x_1
,与下标表达式相同,例如,x[1]
.这是为了方便起见,尽管它令人困惑,因为它很难区分两者。
您可以通过 ?print
查看表达式的内部形式(注意问号是名称的一部分)。例如,?print(x_1);
与 ?print(x[1]);
.
关于maxima - wxMaxima:函数中的子索引变量在写为 "x_1"时起作用,但在写为 "x[1]"时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66976149/