Matlab ode45. Как изменить параметр внутри него при его вызове?

Я новичок в Matlab. Надеюсь, вы можете мне помочь. Мне нужно решить систему ODE, используя функцию ODE45. Вот функция, которая описывает мои снаряжения.

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-файле сценария я вызываю функцию ode45 в цикле for. Во время каждой итерации мне нужно изменить параметр 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

Заранее спасибо.

6
задан jacksonslsmg4 6 October 2011 в 20:40
поделиться