0
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- 初期値を含む定数のすべての必要な値が与えられます。

4

1 に答える 1