数值分析高斯—勒让德积分公式
高斯勒让德积分公式 摘要 高斯勒让德积分公式可以用较少节点数得到高精度的计算结果,是现在现实生活中经常运用到的数值积分法。然而,当积分区间较大时,积分精度并不理想。 The adva ntage of Gauss-Legendre integral ula is tend to get high-precision calculational result by using fewer Gauss-points, real life is now often applied numerical integration . But the precision is not good when the length of integral interval is longer. 关键字 积分计算,积分公式,高斯勒让德积分公式,MATLAB Keyword Integral Calculation , Integral ula ,Gauss-Legendre integral ula, Matlab 引言 众所周知,微积分的两大部分是微分与积分。微分实际上是求一函数的导数,而积分是已知一函数的导数,求这一函数。所以,微分与积分互为逆运算。 实际上,积分还可以分为两部分。第一种,是单纯的积分,也就是已知导数求原函数,称为不定积分。 相对而言,另一种就是定积分了,之所以称其为定积分,是因为它积分后得出的值是确定的,是一个数,而不是一个函数。 计算定积分的方法很多,而高斯勒让德公式就是其中之一。 高斯积分法是精度最高的插值型数值积分,具有2n1阶精度,并且高斯积分总是稳定。而高斯求积系数,可以由Lagrange多项式插值系数进行积分得到。 高斯勒让德求积公式是构造高精度差值积分的最好方法之一。他是通过让节点和积分系数待定让函数fx以此取i0,1,2....n次多项式使其尽可能多的能够精确成立来求出积分节点和积分系数。高斯积分的代数精度是2n-1,而且是最高的。通常运用的是(-1,1)的积分节点和积分系数,其他积分域是通过变换xb-at/2 ab/2 变换到-1到1之间积分。 1. 现有的方法和理论 高斯 勒让德求积公式 在高斯求积公式4.5.1中,若取权函数,区间为,则得公式 我们知道勒让德多项式是区间上的正交多项式,因此,勒让德多项式的零点就是求积公式上式的高斯点.形如上式的高斯公式特别地称为高斯-勒让德求积公式. 若取的零点做节点构造求积公式 令它对准确成立,即可定出.这样构造出的一点高斯-勒让德求积公式是中矩形公式.再取的两个零点构造求积公式 令它对都准确成立,有 . 由此解出,从而得到两点高斯-勒让德求积公式 . 三点高斯-勒让德求积公式的形式是 . 如表列出高斯-勒让德求积公式的节点和系数. 0 1 2 3 4 公式4.5.9的余项由得 , 这里是最高项系数为1的勒让德多项式,由3.2.6及得 . 当时,有 . 它比辛普森公式余项还小,且比辛普森公式少算一个函数值. 当积分区间不是[-1,1],而是一般的区间时,只要做变换 可将化为[-1,1],这时 . 对等式右端的积分即可使用高斯-勒让德求积公式. 复化Gauss-Legendre求积公式 将被积区间m等分, 记, 作变换 在每个小区间上应用Gauss-Legendre公式, 累加即得复化Gauss-Legendre求积公式 不妨设 则有 Gauss点个数时, Gauss点个数时, 总结复化Gauss-Legendre求积过程如下 1. 分割区间, 记录区间端点值; 2. 通过查表或求解非线性方程组, 在所有小区间上, 将Gauss系数和Gauss点的值代入变量替换后的公式; 3. 将所有区间的结果累加, 即得到整个区间上的积分近似值. 针对Gauss点个数和的复化Gauss-Legendre求积公式编写的一个简单的MATLAB函数 compgauss 如下 function [ ] compgaussa, b, n Composite Gauss Integration Equation Type n2, n3 Coded by 2010-05-25 Divide Interval Calculate Sum Results at long f x expx.*sinx; hb-a/n; xkzerosn1,1; xk1,1a; xkn1,1b; fk1zerosn,1; fk2zerosn,1; for i1n-1 xki1,1ah*i; end for j1n fk1jfxkjxkj1/2h/2*-1/sqrt3... fxkjxkj1/2h/2*1/sqrt3; end for r1n fk2r5/9*fxkrxkr1/2h/2*-sqrt15/5... 8/9*fxkrxkr1/2h/2*0... 5/9*fxkrxkr1/2h/2*sqrt15/5; end mysum1h*sumfk1/2; mysum2h*sumfk2/2; dispResult of 2 Nodes dispmysum1; dispResult of 3 Nodes dispmysum2; end 龙贝格,三点,五点以及变步长高斯勒让德求积法 以下是关于龙贝格,三点,五点以及变步长高斯勒让德之间精度的相互比较 include include include definePrecision1 definee2. defineMAXRepeat10 doublefunctiondoublex { doubles; s1/x; returns; } doubleRombergdoublea,doubleb,doublefdoublex { intm,n,k; doubley[MAXRepeat],h,ep,p,x