- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
常微分方程数值解法 5.ppt
(4)四阶经典(Runge--Kutta) 公式 算法9-2(见教材212) 用四阶经典(Runge--Kutta)法求解下面初值问题的数值解。(取h=0.2,N=5) 依题意四阶经典(Runge--Kutta)公式应为 解: 例3、 由初值y0=0逐次算出下表 特点:用四阶经典(Runge--Kutta)法计算的结果,其精度高于改进Euler法. 例1. 解: 利用经典的四阶龙格-库塔公式有 计算结果如下表。 0 0.2 0.4 0.6 0.8 1.0 1 1.18323 1.34167 1.48324 1.61251 1.73205 1 1.18322 1.34164 1.48328 1.61245 1.73205 该结果具有四位有效数字,和本章第一节例1比,可见四阶龙格-库塔方法的精度高于Euler公式和改进Euler(预估-校正)公式。 % a=0;y0=1;h=0.2;;n=0;x_rec(1)=a;y_rec(1)=y0; fprintf(x[%2.0f]=%10.6f y[%2.0f]=%10.6f\n,n,x_rec(1),n,y_rec(1)) x=a;y=y0; while x1 n=n+1 k1=y-2*x/y; k2=(y+h*k1/2)-(2*(x+h/2)/(y+h*k1/2)); k3=(y+h*k2/2)-(2*(x+h/2)/(y+h*k2/2)); k4=(y+h*k3)-(2*(x+h)/(y+h*k3)); y=y+h*(k1+2*k2+2*k3+k4)/6; x=a+n*h; y_rec(n+1)=y;x_rec(n+1)=x; fprintf(x[%2.0f]=%10.6f y[%2.0f]=%10.6f\n,n,x_rec(n+1),n,y_rec(n+1)) end plot(x_rec,y_rec) x[ 0]= 0.000000 y[ 0]= 1.000000 n = 1 x[ 1]= 0.200000 y[ 1]= 1.183229 n = 2 x[ 2]= 0.400000 y[ 2]= 1.341667 n = 3 x[ 3]= 0.600000 y[ 3]= 1.483281 n = 4 x[ 4]= 0.800000 y[ 4]= 1.612514 n = 5 x[ 5]= 1.000000 y[ 5]= 1.732142 % a=0;y0=2;h=0.25;;n=0;x_rec(1)=a;y_rec(1)=y0; fprintf(x[%2.0f]=%10.6f y[%2.0f]=%10.6f\n,n,x_rec(1),n,y_rec(1)) x=a;y=y0; while x5 n=n+1 k1=-x*y^2; k2=-(x+h/2)*(y+h*k1/2)^2; k3=-(x+h/2)*(y+h*k2/2)^2; k4=-(x+h)*(y+h*k3)^2;; y=y+h*(k1+2*k2+2*k3+k4)/6; x=a+n*h; y_rec(n+1)=y;x_rec(n+1)=x; fprintf(x[%2.0f]=%10.6 y[%2.0f]=%10.6f\n,n,x_rec(n+1),n,y_rec(n+1)) end 例1. plot(x_rec,y_rec) x[ 0]= 0.000000 y[ 0]= 2.000000 n = 1 x[ 1]= 0.250000 y[ 1]= 1.882308 n = 2 x[ 2]= 0.500000 y[ 2]= 1.599896 n = 3 x[ 3]= 0.750000 y[ 3]= 1.279948 n = 4 x[ 4]= 1.000000 y[ 4]= 1.000027 n = 5 x[ 5]= 1.250000 y[ 5]= 0.780556 n = 6 x[ 6]= 1.500000 y[ 6]= 0.615459 n = 7 x[ 7]= 1.750000 y[ 7]= 0.492374 n = 8 x[ 8]= 2.000000 y[ 8]= 0.400054 n = 9 x[ 9]=
文档评论(0)