function xdot=func(t,x)xdot(1)=10*(x(2)-x(1));xdot(2)=28*x(1)-x(2)-x(1)*x(3);xdot(3)=-8/3*x(3)+x(1)*x(2);endfunction//独立変数tはta=0;tstep=0.02;tb=80;t0=0t=ta:tstep:tb;xx=ode([1;0;0], t0, t, func);//[ ]内の3数はx(1), x(2), x(3)の初期値(t=t0のときの値)。//結果はxxは3行m列の行列に収められる。ここにmはtが0から80まで0.02刻みなのでm=4001。その第1行xx(1,:)はx値 第2行xx(2,:)はy値 第3行xx(3,:)はz値である。//xyz 3次元プロットするにはparam3dを使う。clf();xset('color',2);//青色でparam3d(xx(1,:),xx(2,:),xx(3,:),95,80,'X@Y@Z'); //x y zxtitle("Lorenz Equation");
function xdot=func(t,x)
返信削除xdot(1)=10*(x(2)-x(1));
xdot(2)=28*x(1)-x(2)-x(1)*x(3);
xdot(3)=-8/3*x(3)+x(1)*x(2);
endfunction
//独立変数tは
ta=0;tstep=0.02;tb=80;t0=0
t=ta:tstep:tb;
xx=ode([1;0;0], t0, t, func);
//[ ]内の3数はx(1), x(2), x(3)の初期値(t=t0のときの値)。
//結果はxxは3行m列の行列に収められる。ここにmはtが0から80まで0.02刻みなのでm=4001。その第1行xx(1,:)はx値 第2行xx(2,:)はy値 第3行xx(3,:)はz値である。
//xyz 3次元プロットするにはparam3dを使う。
clf();
xset('color',2);//青色で
param3d(xx(1,:),xx(2,:),xx(3,:),95,80,'X@Y@Z'); //x y z
xtitle("Lorenz Equation");