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
,m2
并且基于一个时间点,比如说,t0
我正在返回其中一个函数。但是,错误正在显示undefined variable:x
。是因为我x(1)
在这两个功能中都使用了吗?
x
基本上是一个包含x(1)
在第一个函数中的向量m1
,并且[x(1);x(2)]
在m2
。
PS- 给出了包括初始值在内的所有常量所需值。