计算实习任务一一、常微分方程初值问题如下0'(,)()yfxyaxbyay常用的单步法有如下几种1、Euler计算格式:1(,)(0,1,2,)nnnnyyhfxyn2、改进的Euler方法,其迭代式如下1111(,)((,)(,)2nnnnnnnnnnyyhfxyhyyfxyfxy3、经典的R-K方法(四阶R-K方法),具体公式如下11234(22)(0,1,2,)6nnhyykkkkn1213243(,)11(,)2211(,)22(,)nnnnnnnnkfxykfxhyhkkfxhyhkkfxhyhk题目1分别用Euler计算格式和改进的Euler方法求解如下常微分方程初值问题'10(0)1yyxxy取步长h=0.1,计算到x=0.5题目2求初值问题'1(0)0yyy分别用Euler方法(h=0.025),二阶R-K方法(h=0.05)和经典的R-K方法(h=0.1)计算到0.5x,比较计算结果。二、求解常微分方程初值问题的多步算法1、Adams预估-校正系统如下0123123111121,,,AB(5559379)24AB4(9(,)195)24nnnnnnnnnnnnnRungeKuttayyyyhyyffffhyyfxyfff表头:四阶方法提供预估值:4显式公式校正值:隐式公式2、带修正的Adams预估校正系统公式01231-1-2-311111111,,,:(55-5937-9)24251:()270:(,):(9(24nnnnnnnnnnnnnnnnnRungeKuttayyyyhPPyffffMmPCPEffxmhCCyfx表头:四阶方法提供=1-1-21111111,)195)19:-()270:(,)nnnnnnnnnnnmfffMyCCPEffxy题目3编写上述Adams预估-校正系统和带修正的Adams预估校正系统的程序,并用于求解如下初值问题'1(0)(0)1yyxxy取步长h=0.1,计算到x=1.0。三、实习报告要求1.简述方法的基本原理。2.程序中要加注释。3.对程序中的主要变量给出说明。4.附原程序及计算结果。5.对各种算法作比较,对计算结果作简单分析,谈谈编程上机的体会。辅助程序如下算法1Euler方法计算程序functionE=Euler(f,a,b,ya,M)%f-右端函数(,)fxy字符串;a,b-区间端点;ya-初始值;M-步长数;%E=[T’Y’]-T表示横坐标,Y表示纵坐标h=(b-a)/M;=zeros(1,M+1);Y=zeros(1,M+1);T=a:h:b;Y(1)=ya;forj=1:MY(j+1)=Y(j)+h*feval(f,T(j),Y(j));EndE(T’Y’);算法2经典四阶R-K方法functionR=rk4(f,a,b,ya,M)%f-右端函数(,)fxy%a,b-区间端点%ya-初始值%M-步长数%R=[T’Y’]-T表示横坐标,Y表示纵坐标h=(b-a)/M;T=zeros(1,M+1);Y=zeros(1,M+1);T=a:h:b;Y(1)=ya;forj=1:Mk1=h*feval(f,T(j),Y(j));k2=h*feval(f,T(j)+h/2,Y(j)+k1/2);k3=h*feval(f,T(j)+h/2,Y(j)+k2/2);k4=h*feval(f,T(j)+h,Y(j)+k3);Y(j+1)=Y(j)+(k1+k2+k3+k4)/6;endR=[T’Y’];