我是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-file中,我调用了'for loop‘中的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
提前谢谢。
发布于 2011-10-06 20:46:35
您希望将F
作为派生函数的参数,并将正确的匿名函数传递给ode45
[t,N] = ode45(@(t,y) rateEquations(t,y,F), timeSpan, initialConditions)
https://stackoverflow.com/questions/7680224
复制相似问题