37x5;
分别作出它们的曲线图,图中点划线为y1曲线,实线为y2曲线,虚线为y5曲线。’x’为给定的数据点。从图中可以看出并不是多项式次数越高越好,次数高了,曲线越能给定点处和实际吻合,但别的地方就很差了。因此,本例选用一次和两次的多项式拟合应该就可以了。
实验报告五
题目: Romberg积分法
摘要:对于实际的工程积分问题,很难应用Newton-Leibnitz公式去求解。因此应用数值方法进行求解积分问题已经有着很广泛的应用,本文基于Romberg积分法来解决一类积分问题。 前言:(目的和意义)
1. 理解和掌握Romberg积分法的原理; 2. 学会使用Romberg积分法;
3. 明确Romberg积分法的收敛速度及应用时容易出现的问题。 数学原理:
考虑积分,欲求其近似值,通常有复化的梯形公式、Simpsion公式和Cotes公式。但是给定一个精度,这些公式达到要求的速度很缓慢。如何提高收敛速度,自然是人们极为关心的课题。为此,记T1,k为将区间[a,b]进行2k等分的复化的梯形公式计算结果,记T2,k为将区间[a,b]进行2k等分的复化的Simpsion公式计算结果,记T3,k为将区间[a,b]进行2k等分的复化的Cotes公式计算结果。根据Richardson外推加速方法,可以得到收敛速度较快的Romberg积分法。其具体的计算公式为:
1. 准备初值,计算
2. 按梯形公式的递推关系,计算
T1,k?11b?a2?1b?a?T1,k?k?f(a?k?1(i?0.5)) 222i?0k?13. 按Romberg积分公式计算加速值
Tm,k?m?4m?1Tm?1,k?1?m?Tm?1,k?m4m?1?1 m=2,…,k
4. 精度控制。对给定的精度,若
则终止计算,并取为所求结果;否则返回2重复计算,直至满足要求的精度为止。 程序设计:
本实验采用Matlab的M文件编写。其中待积分的函数写成function的方式,例如如下
function yy=f(x,y); yy=x.^3;
写成如上形式即可,下面给出主程序
Romberg积分法源程序
%%% Romberg积分法 clear
%%%积分区间 b=3; a=1;
%%%精度要求 R=1e-5;
%%%应用梯形公式准备初值 T(1,1)=(b-a)*(f(b)+f(a))/2; T(1,2)=T(1,1)/2+(b-a)/2*f((b+a)/2); T(2,1)=(4*T(1,2)-T(1,1))/(4-1); j=2; m=2;
%%%主程序体%%%
while(abs(T(m,1)-T(m-1,1))>R);%%%精度控制 j=j+1; s=0;
for p=1:2^(j-2);
s=s+f(a+(2*p-1)*h/(2^(j-1))); end
T(1,j)=T(1,j-1)/2+h*s/(2^(j-1)); %%%梯形公式应用 for m=2:j; k=(j-m+1);
T(m,k)=((4^(m-1))*T(m-1,k+1)-T(m-1,k))/(4^(m-1)-1); end
相关推荐: