2013-04-05 247 views
0

ODE45在Matlab函数有参数:ODE45和时间间隔

(function,[tinitial tfinal],yinitial) 

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

谢谢。

+0

跨度确实是自适应的,取决于您在解决方案上需要的相对误差。你可以通过调用ode45获得时间网格作为返回的矢量。无论如何,你可以通过一个时间向量来解决这个问题。 – Acorbe 2013-04-05 22:08:15

+0

@Acorbe您是否可以详细说明您的意思是“确实具有适应性并取决于相对误差”?你的意思是我不可能使用ODE45来评估时间矢量1:0.1:5? – user2178841 2013-04-05 22:12:50

回答

1

,干脆去:

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

T应该是相同的如tspan,并Y将是在每个时间点的相应值。

1

,用户可以为时间跨度以下的载体,这样一来,你是说要ODE45要在特定时间点的解决方案(在这里,每0.001)

tspan = ti:0.001:tf; 

输出向量(T, X)将具有与tspan矢量一样多的步骤。

(但如果你的意思是你想求解采取预定和求解方程常数的步骤,你不能这样做。)如果您需要在指定时间点的值