计算实习任务7
- 格式:doc
- 大小:70.50 KB
- 文档页数:3
计算实习任务一
一、常微分方程初值问题如下
0
'(,)()yfxyaxbyay
常用的单步法有如下几种
1、Euler计算格式:
1(,)(0,1,2,)nnnnyyhfxyn
2、改进的Euler方法,其迭代式如下
1111(,)((,)(,)2nnnnnnnnnnyyhfxyhyyfxyfxy
3、经典的R-K方法(四阶R-K方法),具体公式如下
11234(22)(0,1,2,)6nnhyykkkkn
1213243(,)11(,)2211(,)22(,)nn
nn
nn
nn
kfxykfxhyhkkfxhyhkkfxhyhk
题目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预估-校正系统如下
0123
123111121 ,,,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.对各种算法作比较,对计算结果作简单分析,谈谈编程上机的体会。
辅助程序如下
算法1 Euler方法计算程序
function E=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;
for j=1:M
Y(j+1)=Y(j)+h*feval(f,T(j),Y(j));
End
E(T’Y’);
算法2 经典四阶R-K方法
function R=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;
for j=1:M
k1=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;
end
R=[T’Y’];