欧拉法改进欧拉法四阶古典RK法matlab程序.docVIP

  • 105
  • 0
  • 约1.29千字
  • 约 4页
  • 2017-08-18 发布于重庆
  • 举报

欧拉法改进欧拉法四阶古典RK法matlab程序.doc

欧拉法改进欧拉法四阶古典RK法matlab程序

题目:利用程序对初值问题y’=2x+y y(0)=1 用欧拉法(h1=0.025)、改进欧拉法(h2=0.05)和四阶古典R_K法(h3=0.1)计算 x=0.1,0.2,0.3,0.4,0.5各处的数值解,并列表与解析解比较。 Matlab M文件如下: Euler.m—— function Euler(x,y,h1) for m=1:20, x=x+h1; f=2*x+y; y=y+h1*f; if mod(m,4)==0, disp(x=),disp(x); disp(y=),disp(y); end end end gEuler.m—— function gEuler(x,y,h2) f=2*x+y; for m=1:10, x=x+h2; [y,f]=PEC(x,y,h2,f); if mod(m,2)==0, disp(x=),disp(x); disp(y=),disp(y); end end end R_K4.m—— function R_K4(x,y,h3) syms K1 K2 K3 K4, for m=1:5, x=x+h3; K1=2*x+y; K2=2*(x+0.5*h3)+(y+0.5*h3*K1); K3=2*(x+0.5*h3)+(y+0.5*h3*K2); K4=2*(x+h3)+(y+h3*K3); y=y+(1/6)*h3*(K1+2*K2+2*K3+K4); disp(x=),disp(x); disp(y=),disp(y); end end 主程序调用: Euler(0,1,0.025) x= 0.1000 y= 1.1166 x= 0.2000 y= 1.2661 x= 0.3000 y= 1.4519 x= 0.4000 y= 1.6777 x= 0.5000 y= 1.9478 gEuler(0,1,0.05) x= 0.1000 y= 1.1154 x= 0.2000 y= 1.2639 x= 0.3000 y= 1.4491 x= 0.4000 y= 1.6748 x= 0.5000 y= 1.9452 R_K4(0,1,0.1) x= 0.1000 y= 1.1365 x= 0.2000 y= 1.3085 x= 0.3000 y= 1.5195 x= 0.4000 y= 1.7738 x= 0.5000 y= 2.0759

文档评论(0)

1亿VIP精品文档

相关文档