私は次の機能を持っています:
function ypdiff = ypdiff(t,y)
a = 0.01;
b = 0.1;
ypdiff(1) = -a*y(1)*y(2);
ypdiff(2) = b*y(1)*y(2)-b*y(2);
ypdiff(3) = b*y(2);
ypdiff = [ypdiff(1) ypdiff(2) ypdiff(3)]';
これを解決したい場合は、次のように ode45 関数を呼び出します。
[t y] = ode45(@ypdiff, [to tf], yo);
しかし、この関数にパラメーターを渡したい場合、ode45 関数をどのように使用すればよいでしょうか? 具体的には、次の定式化を試みています。
function ypdiff = ypdiff(t,y,u)
a = 0.01;
b = 0.1;
ypdiff(1) = -a*u*y(1)*y(2);
ypdiff(2) = b*u*y(1)*y(2)-b*y(2);
ypdiff(3) = b*u*y(2);
ypdiff = [ypdiff(1) ypdiff(2) ypdiff(3)]';