在 Maxima 中,我想使用函数对任意数量的变量x[1]
...中的微分方程组进行数值求解 。我在变量名中使用方括号,以便我可以在 for 循环中索引变量。这是当 n = 2 时的示例调用:x[n]
rk
rk
rk([derivativeOfX[1],-2*x[1]+x[2],derivativeOfX[2],x[1]-2*x[2]], [X[1],derivativeOfX[1],X[2],derivativeOfX[2]], [1,1,2,0], [t,0,10,0.1])
不幸的是,我得到了错误:
define: in definition of f_rk_4, found bad argument X[1]
如果我手动替换X[1]
withx1
和X[2]
with x2
,错误就会消失:
rk([derivativeOfX1,-2*x1+x2,derivativeOfX2,x1-2*x2], [x1,derivativeOfX1,x2,derivativeOfX2], [1,1,2,0], [t,0,10,0.1]);
似乎rk
不喜欢变量名中的方括号,但我需要它们来索引 for 循环中的变量。我该怎么办?