高斯求积公式教法研究与改革
- 格式:pdf
- 大小:276.88 KB
- 文档页数:4
gauss-legendre求积公式Gauss-Legendre求积公式是数值积分中一种高精度的求积方法,由德国数学家高斯和法国数学家勒让德独立提出,并且是迄今为止被广泛使用的一种求积公式。
它的优点在于其高精度和易于实施。
求积问题是数值计算领域中的重要问题之一,因为很多实际问题都可以化为求定积分的问题。
定积分在数学和物理等领域具有非常重要的意义,但是对于很多函数,特别是无法用解析式表示的函数,求积公式是一种有效的数值计算方法。
Gauss-Legendre求积公式的基本思想是通过构造插值多项式来逼近被积函数,从而近似计算积分的值。
具体来说,该公式将被积函数变换为[-1,1]上的函数,并使用Legendre多项式进行插值。
Legendre多项式是与Legendre方程相关联的正交多项式,通过求解Legendre方程的特征函数得到。
这些多项式具有很多良好的性质,例如正交性和递归性,这使得它们在求积公式中非常有用。
Gauss-Legendre求积公式的一般形式可以表示为:∫[a,b] f(x)dx ≈ (b-a)/2 ∑[i=1,n] wi f(xi)其中,wi是权重,xi是Legendre多项式的根,n是根的数量。
这个公式的精度取决于根和权重的选择,即选择合适的xi和wi可以使得求积公式的精度更高。
根的选择是一个关键问题。
通过观察可以发现,Legendre多项式的根是对称分布的,具有以下特点:xi与-xi关于原点对称,并且都落在[-1,1]的范围内。
由于多项式根的选择取决于问题的范围,因此根的计算需要使用数值方法,例如使用牛顿法或二分法。
权重的计算也是一个重要的问题。
根的选择确定后,通过求解Legendre多项式的系数,即可得到相应的权重。
一种常用的计算权重的方法是使用正交性质,即利用Legendre多项式的正交性将积分转化为求和。
这种方法可以计算出精确的权重。
需要注意的是,Gauss-Legendre求积公式需要选择合适的根和权重,以达到较高的精度。
一、 引言介绍高斯型求积公式,并使用其求积分⎰=1sin I xdx 。
要求:数值实验结果要体现出随高斯点的增加误差的变化。
我们知道,求积公式⎰∑=≈bani i ix f Adx x f 0)()( (1.1)含有22+n 个待定常数i x 及),,2,1,0(n i A i =,如果它具有n 次代数精确度,则它应使1+m 个方程mk dx x x A bakni ki i ,,2,1,0,==⎰∑= (1.2)精确成立。
作为插值型求积公式(1.1)它至少具有n 次代数精确度;另一方面,令)())(()(101n n x x x x x x x ---=+ ω,则对22+n 次多项式)()(21x x f n +=ω而言,(7.5.1)右端为零,而左端严格大于零,即(7.5.1)式对22+n 次多项式)(21x n +ω不准确成立。
但要确定方程组(7.5.2)中的22+n 个待定常数i x 与i A ,最多需要给出22+n 个独立条件,所以m最大取12+n 。
因此,插值型求积公式(1.1)的代数精确度最小是n ,最大是12+n .由此可见,高斯公式的代数精度比牛顿-科特斯公式高,求解高斯求积公式的关键就是解出上述2n+2个待定常数。
为解决上述问题,首先要先给出三个定理:定理一:以n x x x ,,,10 为节点的插值型求积公式(7.5.1)具有12+n 次代数精确度的充要条件是以这些节点为零点的多项式)())(()(101n n x x x x x x x ---=+ ω与任意次数不超过n 的多项式)(x P 均在区间],[b a 上正交,即⎰=+ban dx x x P 0)()(1ω (1.3)定理二:高斯公式(1.1)的求积系数k A 全为正,且nk dx x l dx x l A bak bak k ,1,0,)()(2===⎰⎰(1.4)定理三:对于高斯公式(1.1),其余项为dxx fn f R ban n ⎰+++=)()()!22(1)(21)22(ωη (1.5)其中).())(()(],,[101n n x x x x x x x b a ---=∈+ ωη证明 以n x x x ,,,10 为节点构造)(x f 的埃尔米特插值多项式)(x H),()(i i x f x H = ni x f x H i i ,1,0),()(='='因为)(x H 是12+n 次多项式,而它的余项是)()()!22(1)()(21)22(x fn x H x f n n +++=-ωξ所以高斯公式(7.5.1)对)(x H 能准确成立,即∑∑⎰====ni i in i iibax f Ax H A dx x H 0)()()(从而dxx fn dxx H dx x f x f A dx x f f R n ban babani i i ba)()()!22(1)()()()()(21)22(0++=⎰⎰⎰∑⎰+=-=-=ωξ若)()22(x fn +在区间],[b a 上连续,由于)(21x n +ω在],[b a 上不变号,故应用积分中值定理可得],[,)()()!22(1)(21)22(b a dx x fn f R ban n ∈+=⎰++ηωη上述定理说明,与牛顿—科兹公式进行比较,高斯公式不但具有高精度,而且它还是数值稳定的,但是节点和求积系数的计算比较麻烦。
实验题目:用高斯求积分求解定积分年级:2013级 组号:1b1.实验内容(1) 用复化梯形求积法计算定积分1sin(1/)x dx π⎰ (1) 55110411051sin(1/)dx x ππ---+⎰ (2) (2) 在误差小于810- 条件下,确定 (1) 所均划分区间段M 的最大值 在误差小于810- 条件下,确定(2)所均划分区间段M 的最大值2.数值方法与格式描述该积分法是先将求积区间分成M 份,再对每个微元利用2,3或4点高斯积分法求微元的面积,公式为:其中,高斯系数可查表获得 11,,1()x 222x 222b a N N k N k k b a a b b a f t dt f dx b a a b b a w f -=-+-⎛⎫=+ ⎪⎝⎭-+-⎛⎫=+ ⎪⎝⎭⎰⎰∑3.流程图以四点高斯法为例(两点高斯法和三点高斯法只需更改调用求积分子程序名字,子程序在代码中均已编好)1.初始化均分区间个数M=22.以区间个数增量i为循环变量,i从1取到100。
进入循环,对于每个i值,给积分值赋初值0,子区间个数为(M+i-1),计算每个均分区间的长度;调用计算积分的子程序计算个子区间的积分,接着将各子区间的积分值依次相加,并将计算出的整个区间的积分值付给数值integration(i+1),当integration(i+1)- integration(i)的绝对值小于精度后,跳出循环。
3.输出区间个数i+1,积分值integration(i+1),和integration(i+1)- integration(i)的绝对值。
4.算法实现PROGRAM Gauss_quadrature! 目的! 分别使用2/3/4点高斯求积分求解定积分IMPLICIT NONEREAL(kind=8), PARAMETER :: PI=3.141593 ! 定义常数PiREAL(kind=8), PARAMETER :: a1=1.0, a2=PIREAL(kind=8), PARAMETER:: b1=(1/(5*PI))+10**(-5), b2=(1/(4*PI))-10**(-5) INTEGER:: M=2 ! 定义区间微元的个数INTEGER:: j, i ! 循环变量REAL(kind=8):: dx ! 定义每个均分区间的长度REAL(kind=8):: x0, x1 ! 每个均分区间的左端点和右端点REAL(kind=8):: area2REAL(kind=8):: sum_area=0 ! 求出的积分值REAL(kind=8), DIMENSION(100):: integrationREAL(kind=8), EXTERNAL:: func1, func2integration(1)=0.DO i=1, 100sum_area=0dx=(a2-a1)/(M+i-1)DO j=0, M+i-2x0=a1+j*dxx1=x0+dxCALL fourpointGQ(func1, x0, x1, area2)sum_area=sum_area+area2END DOintegration(i+1)= sum_areaIF(ABS(integration(i+1)-integration(i))<0.00000001) EXITEND DOWRITE(*,*) ' 四点高斯求积法求出第二个函数在给定区间上的定积分' WRITE(*,*)WRITE(*,100)100 FORMAT(1X, T5, '满足精度的最小区间个数', T37, '计算出的积分值', T62 '精度')WRITE(*,110) i+1, integration(i+1), ABS(integration(i+1)-integration(i))110 FORMAT(1X, T5, I10, T30, F20.10, T50, F20.10)END PROGRAM Gauss_quadrature! 定义求2点高斯求积法的子程序SUBROUTINE twopointGQ (func, a, b, area2)IMPLICIT NONEREAL(kind=8):: a, b ! 区间的左边界和右边界REAL(kind=8):: area2 ! 用两点高斯求积法求出函数func在该区间的积分值REAL(kind=8), PARAMETER:: x_nk1=-0.577350269189626, x_nk2=0.577350269189626REAL(kind=8), PARAMETER:: w_nk1=1., w_nk2=1. ! 2点高斯求积法的权重和坐标REAL(kind=8), EXTERNAL:: funcarea2=0.5*(b-a)* (w_nk1*func((a+b)/2+((b-a)/2)*x_nk1)+w_nk2*func((a+b)/2+((b-a)/2)*x_nk2))END SUBROUTINE twopointGQ! 定义求3点高斯求积法的子程序SUBROUTINE threepointGQ (func, a, b, area3)IMPLICIT NONEREAL(kind=8):: a, b ! 区间的左边界和右边界REAL(kind=8):: area3 ! 用三点高斯求积法求出函数func在该区间的积分值REAL(kind=8), PARAMETER:: x_nk1=-0.774596669241483, x_nk2=0.REAL(kind=8), PARAMETER:: x_nk3=0.774596669241483REAL(kind=8), PARAMETER:: w_nk1=5./9, w_nk2=8./9 , w_nk3=5./9 ! 3点高斯求积法的权重和坐标REAL(kind=8),EXTERNAL:: funcarea3=0.5*(b-a)* (w_nk1*func((a+b)/2+(b-a)/2*x_nk1)+w_nk2*func((a+b)/2+(b-a)/2*x_nk2)+w_nk3*func((a+b)/2+(b-a)/2*x_nk3))END SUBROUTINE threepointGQ! 定义求4点高斯求积法的子程序SUBROUTINE fourpointGQ (func, a, b, area4)IMPLICIT NONEREAL(kind=8):: a, b ! 区间的左边界和右边界REAL(kind=8):: area4, area41, area42 ! 用三点高斯求积法求出函数func在该区间的积分值REAL(kind=8), PARAMETER:: x_nk1=-0.8611363115940526, x_nk2=-0.33998104358485626REAL(kind=8), PARAMETER:: x_nk3= 0.33998104358485626, x_nk4=0.8611363115940526REAL(kind=8), PARAMETER:: w_nk1=0.34785484513745396,w_nk2=0.6521451548625462 ! 4点高斯求积法的权重和坐标REAL(kind=8), PARAMETER:: w_nk3=0.6521451548625462,w_nk4=0.34785484513745396REAL(kind=8),EXTERNAL:: funcarea41=0.5*(b-a)*(w_nk1*func((a+b)/2+(b-a)/2*x_nk1)+w_nk2*func((a+b)/2+(b-a)/2*x_nk2))area42=0.5*(b-a)*(w_nk3*func((a+b)/2+(b-a)/2*x_nk3)+w_nk4*func((a+b)/2+(b-a)/2*x_nk4))area4=area41+area42END SUBROUTINE fourpointGQ! 定义第一个函数REAL(kind=8) FUNCTION func1(x)IMPLICIT NONE! 数据字典REAL(kind=8), INTENT(IN):: x ! 函数的变量 ! 函数表达式func1=sin(1/x)END FUNCTION func1! 定义第二个函数REAL(kind=8) FUNCTION func2(x)IMPLICIT NONE! 数据字典REAL(kind=8), INTENT(IN):: x ! 函数的变量 ! 函数表达式func2=1/ sin(1/x)END FUNCTION func25.程序运算结果可见使用四点高斯积分法,使用很少的均分区间计算结果就满足精度要求。
高斯—勒让德积分公式摘要:高斯—勒让德积分公式可以用较少节点数得到高精度的计算结果,是现在现实生活中经常运用到的数值积分法。
然而,当积分区间较大时,积分精度并不理想。
T he adva ntage of Gauss-Legendre integral formula is tend to get high-precision calculational result by using fewer Gauss-points, real life is now often applied numerical integration method. But the precision is not good when the length of integral interval is longer.关键字:积分计算,积分公式,高斯—勒让德积分公式,MATLABKeyword:Integral Calculation , Integral formula ,Gauss-Legendre integral formula, Matlab 引言:众所周知,微积分的两大部分是微分与积分。
微分实际上是求一函数的导数,而积分是已知一函数的导数,求这一函数。
所以,微分与积分互为逆运算。
实际上,积分还可以分为两部分。
第一种,是单纯的积分,也就是已知导数求原函数,称为不定积分。
相对而言,另一种就是定积分了,之所以称其为定积分,是因为它积分后得出的值是确定的,是一个数,而不是一个函数。
计算定积分的方法很多,而高斯—勒让德公式就是其中之一。
高斯积分法是精度最高的插值型数值积分,具有2n+1阶精度,并且高斯积分总是稳定。
而高斯求积系数,可以由Lagrange多项式插值系数进行积分得到。
高斯—勒让德求积公式是构造高精度差值积分的最好方法之一。
他是通过让节点和积分系数待定让函数f(x)以此取i=0,1,2....n次多项式使其尽可能多的能够精确成立来求出积分节点和积分系数。
高斯(Gauss)求积公式的系数和确定方法如下:确定节点:首先确定求积公式所使用的节点,这些节点通常选择为高斯点。
构造高斯型求积公式:根据所选的节点,构造高斯型求积公式。
高斯型求积公式的一般形式为:∫f(x)dx≈∑(A*f(x_i)),其中A是求积系数,x_i是高斯点。
确定求积系数:通过求解线性方程组来确定求积系数。
具体地,根据高斯型求积公式的构造原理,可以建立一个线性方程组,该方程组由节点处的函数值和高斯型求积公式中的求积系数组成。
解这个线性方程组可以得到求积系数。
验证求积公式的精度:通过数值试验来验证求积公式的精度。
例如,可以选择一些已知的函数进行测试,比较使用高斯型求积公式计算的结果与真实值之间的误差。
数值分析高斯求积课程设计一、课程目标知识目标:1. 理解数值分析中数值积分的基本概念,掌握高斯求积公式的原理及其数学背景;2. 掌握高斯-勒让德求积公式及其在数值积分中的应用,能够准确计算出给定函数的数值积分;3. 了解高斯求积的误差分析,掌握误差估计的方法,并能够分析其收敛性。
技能目标:1. 能够运用高斯求积方法解决实际问题中的数值积分问题,提高计算精度和效率;2. 学会使用计算工具(如数学软件)实现高斯求积算法,进行数据分析和处理;3. 培养学生运用数学知识解决实际问题的能力,提升数学建模和数值计算技巧。
情感态度价值观目标:1. 培养学生对数值分析的兴趣,激发其探索数值计算领域的热情;2. 增强学生的团队协作意识,培养在小组讨论和合作中主动分享、倾听他人意见的习惯;3. 培养学生严谨的科学态度,使其认识到数值方法在科学研究和技术应用中的重要性。
本课程设计针对高年级本科生或研究生,学生在具备一定的高等数学和数值分析基础之上,通过本课程的学习,能够深入理解并掌握高斯求积方法。
课程强调理论与实践相结合,注重培养学生的实际操作能力和解决复杂问题的能力。
通过具体案例的分析,让学生在实际应用中感受数值分析的魅力,从而提高其学习的积极性和主动性。
二、教学内容1. 数值积分基本概念:回顾数值积分的定义、特点和分类,重点介绍高斯求积方法;教材章节:第二章 数值积分,第三节 高斯求积方法。
2. 高斯-勒让德求积公式:讲解高斯-勒让德求积公式的推导过程,以及其在数值积分中的应用;教材章节:第二章 数值积分,第四节 高斯-勒让德求积公式。
3. 高斯求积的误差分析:分析高斯求积的误差来源,探讨误差估计方法及其收敛性;教材章节:第二章 数值积分,第五节 高斯求积误差分析。
4. 实际应用案例:结合实际问题,展示高斯求积方法在数值分析中的应用,如求解常微分方程初值问题、计算积分变换等;教材章节:第二章 数值积分,第六节 高斯求积应用实例。