欧拉编程c语言作业数值分析,数值分析作业 欧拉 龙格库塔

《数值分析作业 欧拉 龙格库塔》由会员分享,可在线阅读,更多相关《数值分析作业 欧拉 龙格库塔(5页珍藏版)》请在人人文库网上搜索。

1、9.2对初值问题试用欧拉方法取步长h=0.1和h=0.2计算其近似解,并与精确解比较。解: 欧拉方法:h=0.1;a=0;b=1;n=(b-a)/h;1y=zeros(1,n+1);xx=0;yy=0;y(1)=yy+h*(1.0/(1+xx.2)-2*(yy.2);xx=xx+h;yy=y(1);for i=1:ny(i+1)=y(i)+h*(1.0/(1+xx.2)-2*(yy.2);xx=xx+h;yy=y(i+1);end; yy = 0.1000 0.1970 0.2854 0.3609 0.4210 0.4656 0.4957 0.5137 0.5219 0.5227 0.5180。

2、当h=0.2时y = 0.2000 0.3763 0.4921 0.5423 0.5466 0.5271精确计算的结果:xx=0;h=0.1;a=0;b=1;n=(b-a)/h;y=zeros(1,n);for i=1:nxx=xx+h;y(i)=xx/(1+xx.2);end; yy =0.0990 0.1923 0.2752 0.3448 0.4000 0.4412 0.4698 0.4878 0.4972 0.5000误差的发展情况: h=0.1;jsy= 0.1970 ;0.2854 ; 0.3609; 0.4210 ; 0.4656 ; 0.4957 ;0.5137 ; 0.5219。

3、; 0.5227;0.5180;jqy=0.0990;0.1923;0.2752 ; 0.3448 ; 0.4000 ; 0.4412 ; 0.4698; 0.4878;0.4972 ; 0.5000;x=zeros(10,1); xx=0; x(1)=xx+h;for i=2:10x(i)=x(i-1)+h; end;yc=zeros(10,1);for j=1:10yc(j)=jsy(j)-jqy(j);end; plot(x,yc,b)误差yc= 0.0980 0.0931 0.0857 0.0762 0.0656 0.0545 0.0439 0.0341 0.0255 0.0180误差。

4、的走势图为:9.3利用欧拉预测-校正法和经典龙格库塔方法,取步长为h=0.1,求解方程并与精确解进行比较。解: 欧拉预测-矫正方法h=0.1;a=0;b=1;n=(b-a)/h;yy=1;x=zeros(1,n+1);y=zeros(1,n);for i=2:11x(i)=x(i-1)+h;end;yb=yy+h*(x(1)+yy);y(1)=yy+(h/2)*(x(1)+yy+x(2)+yb);for j=2:nyb=y(j-1)+h*(x(j)+y(j-1);y(j)=y(j-1)+(h/2)*(x(j)+y(j-1)+x(j+1)+yb);end; yy =1.1100 1.2421 1。

5、.3985 1.5818 1.7949 2.0409 2.3231 2.6456 3.0124 3.4282四阶经典龙格库塔方法:h=0.1;y0=1;a=0;b=1;n=(b-a)/h;y=zeros(1,n);x=zeros(1:10);k1=h*(0+1); k2=h*(0+h/2+1+k1/2); k3=h*(0+h/2+1+k2/2); k4=h*(0+h+1+k3);y(1)=y0+(k1+2*k2+2*k3+k4)/6; x(1)=0.1;for i=2:10x(i)=x(i-1)+h;end;for j=2:10k1=h*(x(j-1)+y(j-1); k2=h*(x(j-1)。

6、+h/2+y(j-1)+k1/2);k3=h*(x(j-1)+h/2+y(j-1)+k2/2); k4=h*(x(j-1)+h+y(j-1)+k3);y(j)=y(j-1)+(k1+2*k2+2*k3+k4)/6;end; yy =1.1103 1.2428 1.3997 1.5836 1.7974 2.0442 2.3275 2.6511 3.0192 3.4366精确计算: x=0;h=0.1;a=0;b=1;n=(b-a)/h;y=zeros(1,n);for i=1:nx=x+h;y(i)=-x-1+2*exp(x);end; yy =1.1103 1.2428 1.3997 1.58。

7、36 1.7974 2.0442 2.3275 2.6511 3.0192 3.4366误差发展:h=0.1;jsy= 1.1100 1.2421 1.3985 1.5818 1.7949 2.0409 2.3231 2.6456 3.0124 3.4282;jqy=1.1103 1.2428 1.3997 1.5836 1.7974 2.0442 2.3275 2.6511 3.0192 3.4366;x=zeros(10,1); xx=0; x(1)=xx+h;for i=2:10x(i)=x(i-1)+h; end;yc=zeros(10,1);for j=1:10yc(j)=abs(j。

8、sy(j)-jqy(j);end; ycplot(x,yc,b)ans =0.0003 0.0007 0.0012 0.0018 0.0025 0.0033 0.0044 0.0055 0.0068 0.0084误差的走势图:9.5用Adams预测校正法求解并与精确解进行比较。解:当取步长为0.01时:h=0.01;y0=1;a=0;b=1;n=(b-a)/h;y=zeros(1,n);x=zeros(1,n);k1=h*(-1); k2=h*(-(1+k1/2).2); k3=h*(-(1+k2/2).2); k4=h*(-(1+k3).2);y(1)=y0+(k1+2*k2+2*k3+k4。

9、)/6; x(1)=0.01;for i=2:nx(i)=x(i-1)+h;end;for j=2:nk1=h*(-y(j-1)*y(i-1); k2=h*(-(y(j-1)+k1/2).2);k3=h*(-(y(j-1)+k2/2).2); k4=h*(-(y(j-1)+k3).2);y(j)=y(j-1)+(k1+2*k2+2*k3+k4)/6;end;yb=zeros(1,100);yb(4)=y(3)+(h/24)*(55*(-y(3)*y(3)-59*(-y(3-1).2)+37*(-y(3-2).2)-9*(-(y0).2);y(4)=y(3)+(h/24)*(9*(-yb(4).。

10、2)+19*(-y(3).2)-5*(-y(3-1).2)+(-y(3-2).2);for k=4:99yb(k+1)=y(k)+(h/24)*(55*(-y(k)*y(k)-59*(-y(k-1).2)+37*(-y(k-2).2)-9*(-y(k-3).2);y(k+1)=y(k)+(h/24)*(9*(-yb(k+1).2)+19*(-y(k).2)-5*(-y(k-1).2)+(-y(k-2).2);end;y(:,1:10) %100个校正值的前十个输出;y(:,91:100) %100个校正值的最后是个输出;ans = 0.9901 0.9820 0.9740 0.9646 0.9。

11、554 0.9464 0.9375 0.9288 0.9202 0.9118ans =0.5245 0.5217 0.5190 0.5163 0.5137 0.5111 0.5085 0.5059 0.5034 0.5008精确解:h=0.01;y0=1;a=0;b=1;n=(b-a)/h;y=zeros(1,n);x=zeros(1,n);x(1)=0.01;for i=2:nx(i)=x(i-1)+h;end;h=0.01;y0=1;a=0;b=1;n=(b-a)/h;y=zeros(1,n);x=zeros(1,n);x(1)=0.01;for i=2:nx(i)=x(i-1)+h;end;for j=1:ny(j)=1/(x(j)+1);end;y(:,1:10) %100个校正值的前十个输出;y(:,91:100) %100个校正值的最后是个输出;ans =0.9901 0.9804 0.9709 0.9615 0.9524 0.9434 0.9346 0.9259 0.9174 0.9091ans =0.5236 0.5208 0.5181 0.5155 0.5128 0.5102 0.5076 0.5051 0.5025 0.5000误差的走势散点图。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值