【发布时间】:2011-12-02 13:45:50
【问题描述】:
我是 Matlab 的新手。我希望你能帮助我。 我必须使用 ODE45 函数解决 ODE 系统。这是描述我的方程式的函数。
function dNdt = rateEquations(t, y)
%populations of corresponding state
Ng = y(1);
Ns = y(2);
Nt = y(3);
%All constants used are dropped for the sake of easy reading.
注意参数F。
%rate equations
dNs = s0 * Ng * F - Ns/ t_S1;
dNt = Ns / t_ISC - Nt / t_T1;
dNg = -dNt - dNs;
dNdt = [dNg; dNs; dNt];
end
然后,在我的脚本 .m 文件中,我在“for 循环”中调用 ode45 函数。在每次迭代期间,我必须更改参数 F 并将其传递给我的“rateEquations” - 函数。但我不知道如何实现。
for T = Tmin: dt : Tmax
%initial conditions
initialConditions = [N0 0 0];
timeSpan = [T T+dt];
调用ODE45之前F是要改的。
[t,N] = ode45('rateEquations', timeSpan, initialConditions)
等等……
end
提前致谢。
【问题讨论】:
标签: function matlab handle solver ode