常微分方程初值问题的数值解法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
常微分方程初值问题的数值解法

贵州师范大学数学与计算机科学学院学生实验报告 课程名称: 数值分析 班级: 实验日期: 年 月 日 学 号: 姓名: 指导教师: 实验成绩: 一、实验名称 二、实验目的及要求 三、实验环境四、实验内容 ,用Euler法及经典4阶Runge-Kutta 法求解初值问题 要求: 画出准确解(准确解)的曲线,近似解折线; 把节点0.1和0.5上的精确解与近似解比较,观察误差变化情况. 2. 用 Euler法,隐式Euler法和经典4阶R-K法取不同步长解初值问题 并画出曲线观察稳定性. 注:题1必须写实验报告 五、算法描述及实验步骤 输出 Euler解y 步1 步2 对执行 步3 输出 经典4阶R-K法: 输入 输出 4阶R-K解y 步1 步2 对执行,, , 步3 输出 六、调试过程及实验结果 shiyan6 Y1 = 0.8000 0.6620 0.5776 0.5401 0.5441 0.5853 0.6602 0.7662 0.9009 1.0627 Y2 = 0.8287 0.7103 0.6388 0.6093 0.6179 0.6612 0.7366 0.8419 0.9753 1.1353 e1 = 0.0287 e2 = 4.2469e-006 e1 = 0.0738 e2 = 1.1609e-005 注:至于h=0.05、0.01的情况将程序中的h值作相应的改动即可得。 七、总结八、附录(源程序清单) x=0:0.001:1; y=exp(-2*x)+x.^2; plot(x,y,r) axis([0,1,0.5,1.2]) hold on a=0;b=1;y0=1;h=0.1;d=y0; Y1=Euler(fun,a,b,y0,h) u1=0:0.001:h; v1=Y1(1)+0*u1; plot(u1,v1,g--) hold on u2=0:0.001:5*h; v2=Y1(5)+0*u2; plot(u2,v2,g--) hold on Y1=[d,Y1]; t=0:h:1; scatter(t,Y1,r) hold on plot(t,Y1) hold on Y2=RK(fun,a,b,y0,h) u3=0:0.001:h; v3=Y2(1)+0*u3; plot(u3,v3,y--) hold on u4=0:0.001:5*h; v4=Y2(5)+0*u4; plot(u4,v4,y--) hold on v5=0:0.001:Y2(1); u5=h+0*v5; plot(u5,v5,k--) hold on v6=0:0.001:Y2(5); u6=5*h+0*v6; plot(u6,v6,k--) hold on Y2=[d,Y2]; scatter(t,Y2,r) hold on plot(t,Y2) title(??è·?a?ú??ó??ü???a????,fontsize,10,fontweight,bold) text(0.735,0.7,\leftarrowy=Euler·¨?ü???a????,fontsize,8) text(0.15,0.775,\leftarrowy=?-μ?4?×Runge-Kutta·¨?ü???a????,fontsize,8) x=[0.1,0.5]; y=exp(-2*x)+x.^2; e1=abs(y(1)-Y1(2)) e2=abs(y(1)-Y2(2)) e1=abs(y(2)-Y1(6)) e2=abs(y(2)-Y2(6)) Euler法程序: function Y=Euler(f,a,b,y0,h) m=(b-a)/h;Y=zeros(1,m);x=a;d=y0; for n=1:m K=feval(f,x,y0); x=x+h; y0=y0+h*K; Y(n)=y0; end 定义函数: function z=fun(t,y) z=-2*y+2*t^2+2*t; 经典4阶Runge—Kutta法程序: function Y=RK(f,a,b,y0,h) m=(b-a)/h;Y=zeros(1,m)

文档评论(0)

tianma2015 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档