Gauss型积分公式

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要

求函数在给定区间上的定积分,在微积分学中已给出了许多计算方法,但是,在实际问题计算中,往往仅给出函数在一些离散点的值,它的解析表达式没有明显的给出,或者,虽然给出解析表达式,但却很难求得其原函数。这时我们可以通过数值方法求出函数积分的近似值。

当然再用近似值代替真实值时,误差精度是我们需要考虑因素,但是除了误差精度以外,还可以用代数精度来判断其精度的高低。已知n+1点的Newton-Cotes型积分公式,当n为奇数时,其代数精度为n;当n为偶数时,其代数精度达到n+1。若对随机选取的n+1个节点作插值型积分公式也仅有n次代数精度。

如何选取适当的节点,能使代数精度提高?Gauss型积分公式可是实现这一点,但是Gauss型求积公式,需要被积函数满足的条件是正交,这一条件比较苛刻。因此本实验将针对三种常用的Gauss型积分公式进行讨论并编程实现。

关键词:Newton-Cotes型积分公式正交多项式代数精度

1、实验目的

1)通过本次实验体会并学习Gauss型积分公式,在解决如何取节点能提

高代数精度这一问题中的思想方法。

2)通过对Gauss型积分公式的三种常见类型进行编程实现,提高自己的

编程能力。

3)用实验报告的形式展现,提高自己在写论文方面的能力。

2、算法流程

下面介绍三种常见的Gauss型积分公式

1)高斯-勒让德(Gauss-Legendre)积分公式

勒让德(Legendre)多项式

如下定义的多项式

L n(x)=

1

2n n!

d n

dx n

(x2−1)n,x∈[−1,1],n=0,1,2⋯

称作勒让德多项式。由于(x2−1)n是2n次多项式,所以L n(x)是n次多项式,其最高次幂的系数A n与多项式

1 2n n!d n

dx n

(x(2n))=

1

2n n!

2n(2n−1)(2n−2)⋯(n+1)x n

的系数相同。也就是说n次勒让德多项式具有正交性即勒让德多项式L n(x)是在[−1,1]上带ρ(x)=1的n次正交多项式,而且

(L m,L n)=∫L m(x)L n(x)dx

1

−1={

0, m≠n

2

2n+1

, m=n

这时Gauss型积分公式的节点就取为上述多项式L n(x)的零点,相应的Gauss型积分公式为

∫f(x)dx 1

−1≈∑A k f(x k) n

k=1

此积分公式即成为高斯-勒让德积分公式。其中Gauss-Legendre求积公式的系数

A k=∫ρ(x)

ωn(x)

(x−x k)ω′n(x)

dx

1

−1=∫ρ(x)

L n(x)

(x−x k)L′n(x)

dx 1

−1

其中k的取值范围为k=1,2,⋯,n

Gauss点和系数不容易计算,但是在实际计算中精度要求不是很高,所以给出如下表所示的部分Gauss点{x k}和系数{A k},在实际应用中只需查表

2)高斯-拉盖尔(Gauss-Laguerre)积分公式

拉盖尔(Laguere)多项式

L n(x)=e x d n

dx n

(x n e−x),0≤x<+∞,n=0,1,2⋯

称为拉盖尔多项式。其首项系数为(−1)n,且具有性质:

正交性,在区间[0,+∞)上关于权函数ρ(x)=e−x正交,而且

(L m,L n)=∫e−x L m(x)L n(x)dx

0={

0, m≠n

(n!)2, m=n

积分区间为[0,+∞),权函数为ρ(x)=e−x的Gauss型积分公式称为高斯-拉盖尔积分公式,其中Gauss点为拉盖尔多项式L n(x)的零点,高斯-拉盖尔积分公式为

∫e−x f(x)dx ∞

0≈∑A k f(x k) n

k=1

同样高斯-拉盖尔积分公式的Gauss点和求积系数如下表所示:

3)高斯-埃尔米特(Gauss-Hermite)积分公式

埃尔米特(Hermite)多项式

H n(x)=(−1)n e x2d n e−x2

n

,−∞

被称作埃尔米特多项式,其首项系数为2n,具有性质如下正交性,在区间(−∞,+∞)上关于权函数e−x2正交,而且

(H m,H n)=∫e−x2H m(x)H n(x)dx

+∞

−∞={

0, m≠n 2n n!√π, m=n

积分区间为(−∞,+∞),权函数为ρ(x)=e−x2的Gauss型积分公式称为Gauss-Hermite积分公式,其Gauss点就是Hermite正交多项式H n(x)的零点。Gauss-Hermite求积公式为

∫e−x2f(x)dx ∞

−∞≈∑A k f(x k) n

k=1

同样高斯-埃尔米特积分公式的Gauss点和求积系数如下表所示:

3、算法实例

1) 用3点Gauss 型求积公式计算∫cos xdx 1

−1

解:根据积分限可以知道应该用Gauss-Legendre 积分公式,具体程序如下所示

#include #include

using namespace std; const int M(10);

void main() {

int i=0; int n=0; int m=0; int sign=0; double sum=0; double x[M]={0}; double A[M]={0}; double x1[]={0};

double x2[]={-0.57735502692,0.57735502692}; double x3[]={-0.77459666920,0.77459666920,0}; double

x4[]={-0.8611363116,0.8611363116,-0.3399810436,0.3399810436

相关文档
最新文档