数值分析8-高斯型求积公式
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
插值型的求导公式
问题:已知 f (x) 在节点 x0 , … , xn 上的函数值, 如何计算在这些节点处导数的近似值? 方法:插值型数值微分 先构造出 f (x) 的插值多项式 pn(x) ,然后用 pn(x) 的导数来近似 f (x) 的导数。
插值型的求导公式的误差
多项式插值余项 两边求导得
b n
∫
b a
p( x ) w ( x )dx =
∑ A p( x ) w ( x )
i=0 i i i
n
0
=0
“⇐” 要证明 x0 … xn 为 Gauss 点,即要证公式对任意次数 不大于2n+1 的多项式 p(x) 精确成立,即证明: n b ∫ p( x )dx =∑ Ai p( xi ) 设 p( x) = w( x)q( x) + r( x)
f ( n+1) (ξ x ) n f' ( x i ) − Pn' ( x i ) = ∏ ( xi − x j ) ( n + 1)! j = 0
j≠i
ξx ∈ (x0 , xn)
两点公式
两点公式(等距): n = 1,节点 x0 , x1 ,步长 h = x1 - x0
x − x0 x − x1 P1 ( x ) = f ( x0 ) + f ( x1 ) x0 − x1 x1 − x0 −( x − x1 ) f ( x0 ) + ( x − x0 ) f ( x1 ) = h P' ( x ) = 1 ( f ( x1 ) − f ( x0 ) ) 1 h
一般区间上的 G-L 公式
设 f (x) ∈C[a, b] 作变量替换 x = (b- a) t/2+(b + a)/2,则 t ∈ [-1, 1]
∫
b
a
f ( x ) dx = ∫ f b − a t + b + a i b − a dt −1 2 2 2
1
(
)
∫
b
a
f ( x ) dx ≈ b − a ∑ ωii f b − a xi + b + a 2 i =0 A 2 2
为要利用中点公式
计算导数值 f′(a),首先必须选取合适的步长.为此需 要进行误差分析.分别将 f(a ±h)在 x=a 泰勒展开有
中点公式的误差
代入上式得
由此得知,从截断误差的角度来看,步长越小, 计算结果越准确.且
h 2 f ′( a ) − G ( h ) ≤ M 6 其中 M ≥ max f ′′′ ( x )
⎧ A0 = A1 = 1 ⎪ −1 ⎨ x 0 = − x1 = ⎪ 3 ⎩
高斯点与高斯公式
若存在节点 xi ∈[a, b]及求积系数 Ai ,使得下面 的求积公式具有 2n+1 次代数精度,则称节点 xi 为高斯 点,Ai 为高斯系数,求积公式为高斯(Gauss)求积公式。
定义
∫
b
a
f ( x ) dx ≈ ∑ Ai f ( x i )
i =0
n
注:(1)Gauss求积公式仍然是插值型求积公式; (2)Gauss系数可通过Gauss点和Lagrange基函 数得到;
高斯点的确定
定理 节点 xi (i = 0, 1, … , n) 是求积公式(2-30)的Gauss
点的充要条件是:多项式 w( x) = ∏ ( x − xi ) 与任意次数不超 过 n 的多项式 p(x) 正交,即
R[ f ] = ∫
1 −1
f ( 2 n+ 2) (η ) f ( x ) dx − ∑ ωi f ( xi ) = (2n + 2)! i =0
n
∫
1
−1
( x − xi ) 2 dx ∏
i =0
n
证明:以 x0 … xn 为节点,构造 f (x) 的 2n+1 次Hermite插值
多项式 H(x),满足
f ( n +1) (ξ x ) n f ( x ) − Pn ( x ) = ∏ (x − xj) ( n + 1)! j = 0
( n + 1) n
' ⎞ (ξ x ) ⎛ f f' ( x ) − Pn' ( x ) = ⎜ ∏ (x − xj)⎟ ( n + 1)! ⎝ j = 0 ⎠ n ' ( n +1) 1 + ∏ ( x − x j ) ( f (ξ x ) ) ( n + 1)! j = 0
i =0 n
∫
b
a
p( x )∏ ( x − x i ) dx = 0
i =0
n
且高斯系数 Ai 为
Ai = ∫ l i ( x ) dx
b a
其中 li 为以节点 xi 为节点的 Lagrange 基函数。
高斯点的确定
证明: “⇒” x0 … xn 为 Gauss 点, 则公式 ∫a f ( x)dx ≈ ∑Ai f ( xi ) i =0 至少有 2n+1 次代数精度。 对任意次数不大于n 的多项式 p (x), p (x) w(x) 的次数不大 于 2n+1,则代入公式应精确成立:
i =0
n
几个简单的 G-L 公式
n = 0: Pn+1(x) = x, x0 = 0, ω0 = 2
∫
1
−1
f ( x ) dx ≈ ∑ Ai f ( x i ) = 2 f (0)
i =0
n
n = 1: Pn+1(x) = (3x2 - 1)/2, x0 = −1 3 , x1 = 1 3 ,ω0=ω1=1
(
)
(
15 5
)
三点G-L公式
G-L公式的Gauss系数
定理 G-L求积公式中的 Gauss点为 Pn+1(x) 的 n+1 个零
点,Gauss系数为
ωi =
2 2 ' 2 (1 − xi ) ⎡ Pn+1 ( xi ) ⎤ ⎣ ⎦
(i = 0, 1, … , n)
更多 G-L 公式
当 n > 3 时,可用数值方法计算 Pn+1(x) 的零点 (mygl.m)
n
(
)
其中 xi 和 Ai 分别为 Gauss点 和 Gauss系数。
G-L 公式的优缺点
与前面求积方法的比较
复合梯形公式:用了 210+1 个节点达到 7 位有效数字 Romberg公式:用了 9 个节点达到 7 位有效数字 G-L公式:用了 3 个节点达到 7 位有效数字
G-L求积公式的优点:
第2章 数值积分与数值微分
高斯型求积公式
高精度的求积公式
考虑积分
I = ∫ f ( x ) dx
b a
能否利用 n+1 个节点 x0 ,… , xn 构造出具有 2n+1 次 代数精度的求积公式?
∫
b
a
f ( x ) dx ≈ ∑ Ai f ( x i )
i =0
n
将节点 x0 , … , xn 以及系数 A0 , … , An 都作为待定系 数。令 f (x) = 1, x, x2, …, x2n+1 代入可求解,得到的公 式具有2n+1 次代数精度。
计算精度高;可计算无穷区间上的积分和奇异积分。
G-L求积公式的缺点:
需计算Gauss点和Gauss系数;增加节点时需重新计算。 高斯求积公式的求积系数全是正的,且是稳定的算法
例题1
用4点(n=3)的高斯-勒让德求积公式计算
I = ∫ x 2 cos xdx
2
π
0
解 先将区间[0,π/2]化为[-1,1],可以得到
i =0
n
的代数精度不超过 2n+1。 即Gauss公式是插值型求积公式中代数精度最高的。
Gauss-Legendre 公式
设 f (x) ∈C[-1, 1] ,考虑 Gauss型 求积公式
∫
1
−1
f ( x ) dx ≈ ∑ Ai f ( x i )
i =0
n
在 [-1, 1] 上的正交多项式为Legendre多项式
i =0 i =0
1 n
Hale Waihona Puke Baidu
n
n
R[ f ] = ∫ f ( x ) dx − ∑ ωi f ( xi )
−1
=
1 (2n + 2)!
∫
1
i =0 ( 2 n+ 2)
−1 1
f
(ξ x )∏ ( x − xi ) 2 dx
i =0
n
积分中值定理
f ( 2 n+ 2) (η ) = (2n + 2)!
( x − xi ) 2 dx,η ∈ (-1,1) ∫−1 ∏
1 d n+1 ( x 2 − 1) n+1 Pn+1 ( x ) = n+1 2 ( n + 1)! dx n+1
取其 n+1 个零点作为 Gauss 点,即可得 Gauss-Legendre 求积公式。
G-L 公式的余项
定理 设 f (x) ∈C 2n+2[-1, 1] ,则 G-L求积公式的余项为
∫
1
−1
f ( x ) dx ≈ ∑ Ai f ( x i ) = f ( −1 / 3 ) + f (1 / 3 )
i =0
n
n = 2: Pn+1(x) =
(5x3 -
3x)/2,
两点G-L公式
∫
1
−1
f ( x ) dx ≈ 5 f − 15 5 + 8 f ( 0 ) + 5 f 9 9 9
举例(一)
例:试确定 x0 , x1 以及系数 A0, A1,使得下面的求积
公式具有尽可能高的代数精度。
∫
1
−1
f ( x ) d x ≈ A0 f ( x 0 ) + A1 f ( x1 )
解:将 f (x) = 1, x, x2, x3 代入,使其精确成立得
⎧ A0 + A1 = 2 ⎪ 解得 A0 x 0 + A1 x1 = 0 ⎪ ⎨ 2 A0 x 0 + A1 x12 = 2 / 3 ⎪ ⎪A x3 + A x3 = 0 1 1 ⎩ 0 0 不是线性方程 组,不易求解
x − a ≤ h
步长的选取
再考察舍入误差.按中点公式计算,当 h 很小 时,由于f(a +h)与 f(a -h)很接近,直接相 减会造成有效数字的严重损失.因此从舍入误差 的角度来看,步长是不宜太小的. 综上所述,步长过大,则截断误差显著;但如果 步长太小,又会导致舍入误差的增长,在实际计 算时,我们希望在保证截断误差满足精度要求的 前提下选取尽可能大的步长,然而事先给出一个 合适的步长往往是困难的,通常在变步长的过程 中实现步长的自动选择.
1 2+ 3 5
2.5 数值微分
数值微分就是用函数值的线性组合近似函数在某 点的导数值。 按照数学分析的定义,导数 f′(a)是差商 当 [f(a+h)-f(a)]/h当h→0时的极限.如果精度要 求不高,我们可以简单地取差商作为导数的 近似值,这样便建立起一种简单的数值微分 方法
插商公式
中点公式
I = ∫ ( ) (1 + t ) cos (1 + t )dt −1 4 4
3 2
1
π
π
例题2
套用三点高斯公式计算积分
I =
∫
3 1
1 dx x
解 作变换x=2+t将积分区间变到[-1,1],然后套 用三点高斯高斯公式有
I= 1 5 dt ≈ × ∫−1 2 + t 9
1
1 2− 3 5
+
8 1 5 × + × 9 2 9
G-L 公式的余项(续)
∫
1 −1
f ( x ) dx − ∫ H ( x ) dx =
−1
1
1 (2n + 2)!
∫
1
−1
f ( 2 n+ 2) (ξ x )∏ ( x − xi ) 2 dx
i =0
n
由于G-L求积公式具有 2n+1 次代数精度,故
∫
所以
1
−1
H ( x ) dx ≈ ∑ Ai H ( x i ) = ∑ Ai f ( x i )
H ( xi ) = f ( xi ), H' ( xi ) = f' ( xi ), (i = 0, 1, … , n)
插值余项为
f ( 2 n+ 2) (ξ x ) f ( x) − H ( x) = (2n + 2)!
( x − xi ) 2 , ξx ∈ (-1,1) ∏
i =0
n
上式两边积分得
n 0 1 2 3 4 5 节点个数 1 2 3 4 5 6 Gauss点 0.0000000 ±0.5773503 ±0.7745967 0.0000000 ±0.8611363 ±0.3399810 ±0.9061798 ±0.5384693 0.0000000 ±0.93246951 ±0.66120939 ±0.23861919 Gauss系数 2.0000000 1.0000000 0.5555556 0.8888889 0.3478548 0.6521452 0.2369269 0.4786287 0.5688889 0.17132449 0.36076157 0.46791393
a i =0
∫
b a
p( x )dx = ∫ w( x )q( x )dx + ∫ r ( x )dx
b b a a
0
= ∑ ωi r( xi ) = ∑ ωi p( xi )
i =0
i =0
n
n
高斯公式代数精度
定理 用 n+1 个点 x0 , … , xn 构造的插值型求积公式
∫
b
a
f ( x ) dx ≈ ∑ Ai f ( x i )