数学实验“几种常见求积分近似解方法”实验报告(内含matlab程序).doc
西京学院数学软件实验任务书
课程名称数学软件实验班级数0901学号0912020107姓名李亚强实验课题Romberg积分法,Gauss型积分法,高斯-勒让德积分法,高斯-切比雪夫积分法,高斯-拉盖尔积分法,高斯-埃尔米特积分法实验目的熟悉 Romberg积分法,Gauss型积分法,高斯-勒让德积分法,高斯-切比雪夫积分法,高斯-拉盖尔积分法,高斯-埃尔米特积分法实验要求运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成实验内容Romberg积分法,Gauss型积分法,高斯-勒让德积分法,高斯-切比雪夫积分法,高斯-拉盖尔积分法,高斯-埃尔米特积分法成绩教师
实验二十一实验报告
实验名称:Romberg积分法,Gauss型积分法,高斯-勒让德积分法,高斯-切比雪夫积分法,高斯-拉盖尔积分法,高斯-埃尔米特积分法。
实验目的:进一步熟悉Romberg积分法,Gauss型积分法,高斯-勒让德积分法,高斯-切比雪夫积分法,高斯-拉盖尔积分法,高斯-埃尔米特积分法。
实验要求:运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成程序设计。
实验原理:
Romberg积分法:
龙贝格积分法是用里查森外推算法来加快复合梯形求积公式的收敛速度,它的算法如下,其中是通过一系列逼近原定积分的龙贝格分值.
计算
对,计算下列各步:
对和,计算
随着计算的步骤的增加,越来越逼近积分。
Gauss型积分法:
高斯积分公式的思想是用个不等距的节点对被积函数进行插值,然后对插值后的函数进行积分,其积分公式为:
如果积分区间不是,则需转换到此区间:
其中系数、节点与的关系如下表所示:
高斯-切比雪夫积分法:
第一类切比雪夫积分形式为:
其中,
高斯-拉盖尔积分法:
高斯-拉盖尔公式有两种形式:
下面编制的程序是针对第一种形式的高斯-拉盖尔公式,即
因此程序的第一个输入参数——被积函数,是上式中的。
高斯-埃尔米特积分法:
高斯-埃尔米特公式有以下两种形式:
下面编制的程序是针对第一种形式的高斯-埃尔米特公式,即
因此程序的第一个输入参数——被积函数,是上式中的。
实验内容:
%Romberg积分法
function [q,step]=Roberg(f,a,b,eps)
if(nargin==3)
eps=1.0e-4;
end
M=1;
tol=10;
k=0;
T=zeros(1,1);
h=b-a;
T(1,1)=(h/2)*(subs(sym(f),findsym(sym(f)),a)+subs(sym(f),findsym(sym(f)),b));
while tol>eps
k=k+1;
h=h/2;
Q=0;
for i=1:M
x=a+h*(2*i-1);
Q=Q+subs(sym(f),findsym(sym(f)),x);
end
T(k+1,1)=T(k,1)/2+h*Q;
M=2*M;
for j=1:k
T(k+1,j+1)=T(k+1,j)+(T(k+1,j)-T(k,j))/(4^j-1);
end
tol=abs(T(k+1,j+1)-T(k,j));
end
q=T(k+1,j+1);
step=k;
%Gauss型积分法
function q=IntGauss(f,a,b,n,AK,XK)
if(n<5&&nargin==4)
AK=0;
XK=0;
else
XK1=((b-a)/2)*XK+((a+b)/2);
q=((b-a)/2)*sum(AK.*subs(sym(f),findsym(f),XK1));
end
ta=(b-a)/2;
tb=(a+b)/2;
switch n
case 1
q=2*ta*subs(sym(f),findsym(sym(f)),tb);
case 2
q=ta*(subs(sym(f),findsym(sym(f)),ta*0.5773503+tb)+subs(sym(f),findsym(sym(f)),-ta*0.5773503+tb));
case 3
q=ta*(0subs(sym(f),findsym(sym(f)),ta*0.7745967+tb)+0subs(sym(f),findsym(sym(f)),-ta*0.7745967+tb)+0.88888