0

ODE45matlab中的函数接受参数:

(function,[tinitial tfinal],yinitial)

但在这里,我相信,时间跨度是预先确定的。如何为它分配一个向量?我的意思是如何解决域的 ODE 问题1:0.1:5

谢谢你。

4

2 回答 2

1

您可以为时间跨度分配以下向量,这样,您对 ode45 说您希望在特定时间点(这里,每 0.001)得到解决方案

tspan = ti:0.001:tf;

输出向量 ( T, X ) 的步数与 tspan 向量的步数一样多。

(但如果你的意思是你希望求解器采取预先确定的和恒定的步骤来求解方程,你不能那样做。)

于 2013-04-05T22:22:39.683 回答
1

如果您需要指定时间点的值,只需执行以下操作:

tspan = 1:0.1:5
[T Y] = ode45(odefun, tspan, y0)

T应该与 相同tspan,并且Y将是每个时间点的对应值。

于 2013-04-05T22:27:39.700 回答