【发布时间】:2013-11-24 09:16:04
【问题描述】:
我有一个快速的问题,我希望有一个相当简单的解决方案。我有一个看起来像这样的函数:
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。
【问题讨论】:
-
如何初始化变量
x0?
标签: matlab indexing ode numerical-integration