常微分方程作业欧拉法与改进欧拉法.doc_第1页
常微分方程作业欧拉法与改进欧拉法.doc_第2页
常微分方程作业欧拉法与改进欧拉法.doc_第3页
常微分方程作业欧拉法与改进欧拉法.doc_第4页
常微分方程作业欧拉法与改进欧拉法.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

P77 31.利用改进欧拉方法计算下列初值问题,并画出近似解的草图:代码:%改进欧拉法function Euler(t0,y0,inv,h)n=round(inv(2)-inv(1)/h;t(1)=t0;y(1)=y0;for i=1:n y1(i+1)=y(i)+h*fun(t(i),y(i); t(i+1)=t(i)+h; y(i+1)=y(i)+1/2*h*(fun(t(i),y(i)+ fun(t(i+1),y1(i+1)endplot(t,y,*r)function y=fun(t,y);y=y+1;调用:Euler(0,3,0,2,0.5)得到解析解:hold on;y=dsolve(Dy=y+1,(y(0)=3),t);ezplot(y,0,2)图像:代码:function Euler1(t0,y0,inv,h)n=round(inv(2)-inv(1)/h;t(1)=t0;y(1)=y0;for i=1:n y1(i+1)=y(i)+h*fun(t(i),y(i); t(i+1)=t(i)+h; y(i+1)=y(i)+1/2*h*(fun(t(i),y(i)+ fun(t(i+1),y1(i+1)endplot(t,y,*r)function y=fun(t,y);y=y2-4*t;调用:Euler1(0,0.5,0,2,0.2)图像:代码:function Euler2(t0,y0,inv,h)n=round(inv(2)-inv(1)/h;t(1)=t0;y(1)=y0;for i=1:n y1(i+1)=y(i)+h*fun(t(i),y(i); t(i+1)=t(i)+h; y(i+1)=y(i)+1/2*h*(fun(t(i),y(i)+ fun(t(i+1),y1(i+1)endplot(t,y,*r)function y=fun(t,y);y=(3-y)*(y+1);调用:Euler2(0,4,0,5,1)得到解析解:hold on;y=dsolve(Dy=(3-y)*(y+1),y(0)=4,t);ezplot(y)图像:代码:function Euler2(t0,y0,inv,h)n=round(inv(2)-inv(1)/h;t(1)=t0;y(1)=y0;for i=1:n y1(i+1)=y(i)+h*fun(t(i),y(i); t(i+1)=t(i)+h; y(i+1)=y(i)+1/2*h*(fun(t(i),y(i)+ fun(t(i+1),y1(i+1)endplot(t,y,*r)function y=fun(t,y);y=(3-y)*(y+1);调用:Euler2(0,4,0,5,0.5)得到解析解:hold on;y=dsolve(Dy=(3-y)*(y+1),y(0)=4,t);ezplot(y)图像:14.考虑满足初始条件(x(0),y(0))=(1,1)的下列方程组:选定时间步长t=0.25,n=5.用改进欧拉方法求两个方程组的近似解;(1) 代码:function Euler4(t0,int,n,h)t=t0;x(1)=int(1);y(1)=int(2);for i=1:n x1(i+1)=x(i)+h*xfun(t(i),x(i),y(i); y1(i+1)=y(i)+h*yfun(t(i),x(i),y(i); t(i+1)=t(i)+h; x(i+1)=x(i)+1/2*h*(xfun(t(i),x(i),y(i)+xfun(t(i+1),x1(i+1),y1(i+1); y(i+1)=y(i)+1/2*h*(yfun(t(i),x(i),y(i)+yfun(t(i+1),x1(i+1),y1(i+1);endplot(t,x,o-r)hold onplot(t,y,*-g)hold onplot(x,y)function x=xfun(t,x,y);x=y;function y=yfun(t,x,y);y=-2*x-3*y;调用函数:Euler4(0,1,1,5,0.25)图像:(2)代码:function Euler5(t0,int,n,h)t=t0;x(1)=int(1);y(1)=int(2);for i=1:n x1(i+1)=x(i)+h*xfun(t(i),x(i),y(i); y1(i+1)=y(i)+h*yfun(t(i),x(i),y(i); t(i+1)=t(i)+h; x(i+1)=x(i)+1/2*h*(xfun(t(i),x(i),y(i)+xfun(t(i+1),x1(i+1),y1(i+1); y(i+1)=y(i)+1/2*h*(yfun(t(i),x(i),y(i)+yfun(t(i+1),x1(i+1),y1(i+1);endplot(t,x,o-r)hold onplot(t,y,*-g)hold onplot(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论