【m.file】ODE45_fun:
function dx=ODE45_fun(t,x)a1=1;a2=1;e1=9;e2=7;f1=56;f2=98;g1=76;g2=665;a=a1+a2;e=e1+e2;f=f1+f2;g=g1+g2;dx(1)=x(3)+x(2)-x(4)*x(2)+2*x(5)*x(2)+x(2)*x(2)+x(5)+e+f+g;dx(2)=x(1)+x(3)-x(4)*x(2)+x(2)*x(2)+x(5)*x(5)+x(5)*x(2)+e*f+g;dx(3)=x(2)+x(1)-x(5)*x(1)+x(4)*x(3)-x(3)-x(4)-e*g-f;x(6)=x(4)*x(5)+x(2)*x(3)+e*f+e*g;dx(4)=x(5)*a-x(3)*x(1)-x(3)-e*f*g*x(6)dx(5)=x(4)*a-x(2)*x(1)+e*f*x(1)+x(2)*x(2)*x(5)+x(2)*x(5)*x(5)+e*f+f*gdx=[dx(1);dx(2);dx(3);dx(4);dx(5);dx(6)];
【m.file】DE45_main:
tspan=[0,10];x0=[0:0.1:2:0:0.1:2];[t,x]=ode45('ODE45_fun',tspan,x0);data=[t,x];save ODE45_data.txt data-asciisubplot(2,3,1),plot(t,x(1))subplot(2,3,2),plot(t,x(2))subplot(2,3,3),plot(t,x(3))subplot(2,3,4),plot(t,x(4))subplot(2,3,5),plot(t,x(5))subplot(2,3,6),plot(t,x(6))
MATLAB:
>> ODE45_mainWarning: Colon operands must be real scalars.Warning: Colon operands must be real scalars.??? Error using ==> funfun\private\odeargumentsNo default parameters in ODE45_FUN. Use ode45(ODE45_FUN,tspan,y0,...) instead.Error in ==> ode45 at 173[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, ...Error in ==> ODE45_main at 3[t,x]=ode45('ODE45_fun',tspan,x0);
Best Answer