我有一个快速的问题,我希望有一个相当简单的解决方案。我有一个看起来像这样的函数:
function [dx] = myFunction(x)
其中x
是一个包含系统配置(位置和动量)的四个元素的列向量。我正在尝试ode45
在此配置空间中对一些粒子进行数值积分,如下所示:
[Tout,Yout] = ode45(@(x,t)myFunction(x),[t0 tfinal],x0);
每次我尝试这个我都会失败,收到以下错误:
Index exceeds matrix dimensions
Error in myFunction (line 9)
x2 = x(2);
ode45
将单个元素 , 传递给x=0
,而不是预期myFunction
的四个元素的向量。myFunction
这导致索引错误。为什么会发生这种情况,我该如何解决?看来我没有ode45
正确使用。