数值分析高斯勒让德积分公式Word格式文档下载.docx
《数值分析高斯勒让德积分公式Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数值分析高斯勒让德积分公式Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。
计算定积分的方法很多,而高斯—勒让德公式就是其中之一。
高斯积分法是精度最高的插值型数值积分,具有2n+1阶精度,并且高斯积分总是稳定。
而高斯求积系数,可以由Lagrange多项式插值系数进行积分得到。
高斯—勒让德求积公式是构造高精度差值积分的最好方法之一。
他是通过让节点和积分系数待定让函数f(x)以此取i=0,1,2....n次多项式使其尽可能多的能够精确成立来求出积分节点和积分系数。
高斯积分的代数精度是2n-1,而且是最高的。
通常运用的是(-1,1)的积分节点和积分系数,其他积分域是通过变换x=(b-a)t/2
+(a+b)/2变换到-1到1之间积分。
1.现有的方法和理论
高斯勒让德求积公式
在高斯求积公式(4.5.1)中,若取权函数
,区间为
,则得公式
我们知道勒让德多项式是区间
上的正交多项式,因此,勒让德多项式
的零点就是求积公式(上式)的高斯点.形如(上式)的高斯公式特别地称为高斯-勒让德求积公式.
若取
的零点
做节点构造求积公式
令它对
准确成立,即可定出
.这样构造出的一点高斯-勒让德求积公式是中矩形公式.再取
的两个零点
构造求积公式
都准确成立,有
.
由此解出
,从而得到两点高斯-勒让德求积公式
三点高斯-勒让德求积公式的形式是
如表列出高斯-勒让德求积公式的节点和系数.
1
2
3
4
公式(4.5.9)的余项由得
,
这里
是最高项系数为1的勒让德多项式,由(3.2.6)及得
.
当
时,有
它比辛普森公式余项
还小,且比辛普森公式少算一个函数值.
当积分区间不是[-1,1],而是一般的区间
时,只要做变换
可将
化为[-1,1],这时
.
对等式右端的积分即可使用高斯-勒让德求积公式.
复化Gauss-Legendre求积公式
将被积区间m等分,记
作变换
在每个小区间上应用Gauss-Legendre公式,累加即得复化Gauss-Legendre求积公式
不妨设
则有:
Gauss点个数
时,
总结复化Gauss-Legendre求积过程如下:
1.分割区间,记录区间端点值;
2.通过查表或求解非线性方程组,在所有小区间上,将Gauss系数和Gauss点的值代入变量替换后的公式;
3.将所有区间的结果累加,即得到整个区间上的积分近似值.
针对Gauss点个数
和
的复化Gauss-Legendre求积公式编写的一个简单的MATLAB函数compgauss()如下:
function[]=compgauss(a,b,n)
%CompositeGaussIntegration
%EquationType:
n=2,n=3
%Codedby2010-05-25
%DivideInterval
%Calculate
%SumResults
formatlong
f=@(x)exp(x).*sin(x);
h=(b-a)/n;
xk=zeros(n+1,1);
xk(1,1)=a;
xk(n+1,1)=b;
fk1=zeros(n,1);
fk2=zeros(n,1);
fori=1:
n-1
xk(i+1,1)=a+h*i;
end
forj=1:
n
fk1(j)=f((xk(j)+xk(j+1))/2+(h/2)*(-1/sqrt(3)))+...
f((xk(j)+xk(j+1))/2+(h/2)*(1/sqrt(3)));
forr=1:
fk2(r)=(5/9)*f((xk(r)+xk(r+1))/2+(h/2)*(-sqrt(15)/5))+...
(8/9)*f((xk(r)+xk(r+1))/2+(h/2)*(0))+...
(5/9)*f((xk(r)+xk(r+1))/2+(h/2)*(sqrt(15)/5));
mysum1=h*sum(fk1)/2;
mysum2=h*sum(fk2)/2;
disp('
Resultof2Nodes:
'
)
disp(mysum1);
Resultof3Nodes:
disp(mysum2);
龙贝格,三点,五点以及变步长高斯勒让德求积法
以下是关于龙贝格,三点,五点以及变步长高斯勒让德之间精度的相互比较
#include
<
>
#define
Precision1
#
define
e
2.
MAXRepeat
10
double
function
(double
x)
{
s;
s=1/x;
return
}
Romberg(double
a,double
b,double
f(double
x))
int
m,n,k;
y[MAXRepeat],h,ep,p,xk,s,q;
h=b-a;
y[0]=h*(f(a)+f(b))/;
fx);
3.数值实验
用4点(n=3)的高斯——勒让德求积公式计算
.
解:
先将区间
化为
,由
(1)
.
(1)
有
根据表4-7中n=3的节点及系数值可求得
.
(准确值
)
用
的高斯-勒让德公式计算积分
令
,则
的高斯—勒让德公式计算积分
用四个节点的高斯―勒让德求积公式计算定积分
,计算过程保留4位小数.
解:
高斯-勒让德求积公式只求积分区间为[-1,1]上的积分问题.需作变换,令
,当x=1时,u=1;
当x=0时,u=-1.于是,
=
2.总结
高斯―勒让德求积公式对定积分的计算拥有高精度的特点,但是这只存在于积分区间在[-1,1]上,区间的变大会导致精度的降低。
因此,寻找精度更高,加速更快的算法是必要的。
《参考文献》
[1]《数值计算》张军、林瑛、钟竞辉清华大学出版社2008617
[2]《数值分析》陈晓江、黄樟灿·
科学出版社2010710
[3]《数值分析原理》吴勃英科学出版社2009723
[4]复化两点Gauss-Legendre求积公式的外推算法《桂林航天工业高等专科学校学报》2007年03期