gpt4 book ai didi

function - Matlab ode45。如何在调用它时更改其中的参数?

转载 作者:太空宇宙 更新时间:2023-11-03 19:34:27 25 4
gpt4 key购买 nike

我是 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

提前致谢。

最佳答案

您想使 F 成为派生函数的参数,并将正确的匿名函数传递给 ode45:

[t,N] = ode45(@(t,y) rateEquations(t,y,F), timeSpan, initialConditions)

关于function - Matlab ode45。如何在调用它时更改其中的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7680224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com