1

「sde_euler」を使用して 2 つの確率微分方程式系を解こうとしています。これが私のコードです:

function y = stoch_Fx_model(t0,tf,F0,x0)


r=1;
sig=1;
lambda=1;
h=1;
S=1;

f= @(t,Y)[r.*Y(1).*(1-Y(1)) -h.*Y(1).*(1-Y(2))./(Y(1)+S);
     lambda.*Y(2).*(1-Y(2)).*(1+sig.*(2.*Y(2)-2.*Y(1)-1))];
g=@(t,Y)[0.5;0.6];
dt=0.001;
t=t0:dt:tf;
Y0=[F0;x0];

opts = sdeset('ConstGFUN','yes','NonNegative','yes');
y = sde_euler(f,g,t,Y0,opts);
y = min(y,1);

plot(t,y(:,1))

end

t0、tf、x0、F0 の値を指定した後、コードを実行すると、次のエラーが発生します。

Error using sdearguments (line 22)
Input vector TSPAN must have length >= 2.  See SDE_EULER.

Error in sde_euler (line 130)
      [N,D,tspan,tdir,lt,y0,fout,gout,dgout,dg,h,ConstStep,dataType,NonNegative,...

Error in stoch_Fx_model (line 19)
y = sde_euler(f,g,t,Y0,opts);

私は自分の間違いを理解していません。TSPAN の長さが 2 を超えています。ツールボックスのソースは次のとおりです。

https://github.com/horchler/SDETools/blob/master/SDETools/sde_euler.m

何か助けてください。ありがとう!

4

0 に答える 0