如何从颂歌中检索加速度

时间:2013-10-05 13:42:35

标签: matlab size ode

正如标题所说,我想知道如何从Matlab ode中检索二阶导数。 我试图模拟的系统由12个一阶微分方程描述。

我们来解释一下:

...

[T,Y] = ode113(@sixdofsolver,time,Y0,options,settings);

T = 1700x1载体

Y = 1700x12矩阵

如果我这样做:

[dY] = sixdofsolver(T,Y,settings)

dY = 12x1载体

我原本希望有一个像Y一样大小的矩阵。

我做错了什么?

1 个答案:

答案 0 :(得分:2)

你走在正确的轨道上。您的集成函数sixdofsolver可能首先由Matlab的ODE求解器使用。这些函数在一个时间点(和单个状态值)评估函数,而不是在一段时间内评估函数。

您需要重写sixdofsolver函数,以便它可以处理多个时间,或者您需要基于它来创建新函数。换句话说,您需要对集成函数进行矢量化。您可能有y(1)y(2),...,y(12). Well, now the input state vector is a matrix so you need to use something like y(:,1), y(:,2){{1 }}。您可能需要执行其他操作,例如切换到逐元素运算符。我不能从你提供的内容中得到更多帮助。