实验一 常微分方程.doc

实验一 常微分方程

1. 分别用Euler法和ode45解下列常微分方程并与解析解比较: (1) 解析: y=dsolve(Dy=x+y,y(0)=1,x) y = 2*exp(x) - x - 1 Euler: function [x,y]=euler(odefun,xspan,y0,h) x=xspan(1):h:xspan(2); y(1)=y0; for i=1:length(x)-1 y(k+1)=y(i)+h*feval(odefun,x(i),y(i)); end x=x ; y=y ; end ode45: odefun=inline(x+y,x,y); xspan=[0,3]; y0=1; h=0.1; [x1,y1]=euler(odefun,xspan,y0,h); [x2,y2]=ode45(odefun,xspan,y0); x3=0:0.1:3; y3=2*exp(x3)-x3-1; plot(x1,y1,k,x2,y2,ko,x3,y3,k*); xlabel(x轴); ylabel(y轴); legend(euler,ode45,dsolve); ode45求得的结果与用解析法求得的结果更接近,故ode45的精度较高, Euler法求得的结果精度较低。 (2) 令 则原方程等价于方程组: , ,不能解析,只能用数值法求解

文档评论(0)

1亿VIP精品文档

相关文档