function dx=m1(t,x)
dx(1)=(l0*x(1))/(1+(l0*x(1))
endfunction
function dx=m2(t,x)
dx(1)=(l0*x(1))/[1+(l0*(x(1)+x(2))]
dx(2)=(k2*x(1)*x(1))-k1*x(2)
endfunction
t0=15;
function f(t,t0)
if (t < t0)
{
return m1(t)
}
else
{
return m2(t)
}
end
endfunction
x=ode(x0, t0, t, f);
m1
上記のコードでは、2 つの関数を定義m2
しており、ある時点に基づいて、たとえば、t0
関数のいずれかを返しています。ただし、エラーが表示されていundefined variable:x
ます。x(1)
両方の機能で
使用しているからですか?は基本的に、最初の関数とinx
を含むベクトルです。x(1)
m1
[x(1);x(2)]
m2
PS- 初期値を含む定数のすべての必要な値が与えられます。