常微分方程数值求解如题,最好有matlab代码.直接解答也行.要几分都没关系.但凡有所帮助,

来源:学生作业帮助网 编辑:作业帮 时间:2024/12/01 17:59:21
常微分方程数值求解如题,最好有matlab代码.直接解答也行.要几分都没关系.但凡有所帮助,
xS]OP+v+mǺď&\MnnmeWDWjH$FM?6 F"W^F|xVG/7_şɷ峽xw' Xk둫%aGjf ?>=zR8]W7A}+~z0<8N+-OGnU3a4.0a`V3h-oy ybZS,IS"Ib4;-CV(ШI[1 T Jb62*͡1-!+ @* |jź\Ic/Ml5ݨVQ @WBI`MסuM/;IJ7Ő.lw9; K vg3Xc+4$)@96% Ԟx! 2 82SL~|Qvs%s  G3sc!ΕITJ4J$G=5^"3!R1mڌX 5Wm6%o6UYFO4>T|eZ:Mx|aDES|z!邸p&-fw`As{޵"_҈Ei!

常微分方程数值求解如题,最好有matlab代码.直接解答也行.要几分都没关系.但凡有所帮助,
常微分方程数值求解

如题,最好有matlab代码.直接解答也行.
要几分都没关系.但凡有所帮助,

常微分方程数值求解如题,最好有matlab代码.直接解答也行.要几分都没关系.但凡有所帮助,
dxdt=@(t,x) x-2*t./x;
oneoverdt=1000;
dt=1/oneoverdt;
N=4*oneoverdt;
x1=zeros(1,N+1);
x1(1)=1; % 显欧
x2=x1; % 梯形
x3=x1; % RK4
for i=1:N
x1(i+1)=x1(i)+dt*dxdt((i-1)*dt,x1(i));
K1=dxdt((i-1)*dt,x2(i));
K2=dxdt(i*dt,x2(i)+dt*K1);
x2(i+1)=x2(i)+dt/2*(K1+K2);
K1=dxdt((i-1)*dt,x3(i));
K2=dxdt((i-.5)*dt,x3(i)+dt/2*K1);
K3=dxdt((i-.5)*dt,x3(i)+dt/2*K2);
K4=dxdt(i*dt,x3(i)+dt*K3);
x3(i+1)=x3(i)+dt/6*(K1+2*K2+2*K3+K4);
end
t=linspace(0,4,N+1);
plot(t,x1,t,x2,t,x3)
legend('Forward Euler','Trapezoidal','RK4')