数值分析上机(九).docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Author by prs,版权所有 Ps:均来自数值分析第五版作者:李庆扬,王能超,易大义 编 出 版 社:清华大学出版社 微分方程问题的初值解法 欧拉及四阶龙格库塔 问题部分: 给定初值问题: (1) (2) 要求:(a)用改进欧拉法(h=0.05)及经典四阶R-K法(h=0.1)求(1)的数值解,并打印x=1+0.1i的值 (b)用经典四阶R-K方法解(2),步长分别取h=0.1,0.025,0.01,计算并打印x=0.1i(i=0…10)各点的值,与准确解y(x)=1/3exp(-50*(x))+x^2; 代码部分: /**R_K.m**/ function z = R_K(h,a,b,y0) %a,b------输入参数:边界 %h-----输入参数:步长 %y0-----输入参数:初值 %y-----输出:函数值 x=a:h:b; N=(b-a)/h+1; y(1)=y0; for i=1:N-1 K1=fun(x(i),y(i)); K2=fun(x(i)+h/2,y(i)+h/2*K1); K3=fun(x(i)+h/2,y(i)+h/2*K2); K4=fun(x(i)+h,y(i)+h*K3); y(i+1)=y(i)+h/6*(K1+2*K2+2*K3+K4); end z=y; end 函数部分 /***fun.m**/ function z= fun( x,y) z=-50*y+50*x^2+2*x; end 主程序 /clear clc %% 第一问 %改进欧拉法 h=0.05; x=1:h:2; %初值 y(1)=1; for i=1:20 yp=y(i)+h*(1/x(i)^2-y(i)/x(i)^2); yc=y(i)+h*(1/x(i+1)^2-yp/x(i+1)); y(i+1)=(yp+yc)/2; end disp(i=0...10的值为:); for i=1:2:21 fprintf(%f\n,y(i)) end %% 四阶R-K法 h=0.1; y2(1)=1; x=1:h:2; for i=1:10 K1=1/x(i)^2-y2(i)/x(i); K2=1/(x(i)+h/2)^2-(y(i)+h/2*K1)/(x(i)+h/2); K3=1/(x(i)+h/2)^2-(y(i)+h/2*K2)/(x(i)+h/2); K4=1/(x(i)+h/2)^2-(y(i)+h*K3)/(x(i)+h); y2(i+1)=y2(i)+h/6*(K1+2*K2+2*K3+K4); end disp(i=0...10的值为:); for i=1:11 fprintf(%f\n,y2(i)) end %% 第二问 %边界. a=0;b=1; hh=[0.1 0.025 0.01]; %初值 y0=1/3; %精确解 x=0:0.1:1; for i=1:11 yt(i)=1/3*exp(-50*x(i))+x(i)^2; end for k=1:3 %步长h h=hh(k); y=R_K(h,a,b,y0); yz=y(1:0.1/h:end); disp(步长h=) fprintf(%f,h) disp(对应的y值:) yz end disp(精确解:) yt **Euler.m**/ 运行结果: 第一问: i=0...10的值为: i=0...10的值为: 1.000000 0.996850 0.990901 0.983239 0.974538 0.965231 0.955600 0.945833 0.936055 0.926353 0.916782 1.000000 0.997080 0.987403 0.973220 0.956034 0.936877 0.916462 0.895296 0.873735 0.852037 0.830386 第二问: 步长h= 0.100000对应的y值: yz = 1.0e+10 * Columns 1 through 8 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0002 0.0031 Columns 9 through 11 0.0418 0.5733 7.8594 步长h= 0.025000对应的y值: yz = Columns 1 through 8 0.3333 0.0130 0.0401 0.0900 0.1600 0.2500

文档评论(0)

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

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

1亿VIP精品文档

相关文档