第二章 数值微分和数值积分
数值微分 函数f(x)以离散点列给出时,而要求我们给出导数值, 函数f(x)过于复杂 这两种情况都要求我们用数值的方法求函数的导数值 微积分中,关于导数的定义如下: 自然,而又简单的方法就是,取极限的近似值,即差商
向前差商 由Taylor展开 因此,有误差
向后差商 由Taylor展开 因此,有误差
中心差商 由Taylor展开 因此,有误差
由误差表达式,h越小,误差越小,但同时舍入误差增大,所以,有个最佳步长 我们可以用事后误差估计的方法来确定 设D(h),D(h/2)分别为步长为h,h/2的差商公式。则 时的步长h/2就是合适的步长
例: f(x)=exp(x) h f’(1.15) R(x) 0.10 3.1630 -0.0048 0.05 3.1590 -0.0008 0.09 3.1622 -0.0040 0.04 3.1588 -0.0006 0.08 3.1613 -0.0031 0.03 3.1583 -0.0001 0.07 3.1607 -0.0025 0.02 3.1575 -0.0007 0.06 3.1600 -0.0018 0.01 3.1550 -0.0032
插值型数值微分 插值是建立逼近函数的手段,用以研究原函数的性质。因此,可以用插值函数的导数近似为原函数的导数 误差
例: ,求 给定点列 且 解:
Taylor展开分析,可以知道,它们都是 称为三点公式
数值积分 关于积分,有Newton-Leibniz公式 但是,在很多情况下,还是要数值积分: 1、函数有离散数据组成 2、F(x)求不出 定义数值积分如下:是离散点上的函数值的线性组合 称为积分系数,与f(x)无关,与积分区间和积分点有关
定义 对任意次数不高于k次的多项式f(x), 数值积分没有误差 两个问题: 1、系数ai如何选取,即选取原则 2、若节点可以自由选取,取什么点好? 定义 代数精度 为数值积分, 为积分,则称数值 积分有k阶代数精度是指: 对任意次数不高于k次的多项式f(x), 数值积分没有误差
插值型 用插值函数的积分,作为数值积分 代数精度 由Lagrange插值的误差表达式, ,有 可以看出,至少n阶代数精度
是否有更好的方法使得代数精度为至少为n+1阶? 使用尽可能高的代数精度 已知 求系数 所以,要存在唯一,m=n,确定一个n+1阶的方程组 Vandermonde行列式
所以,m=n时存在唯一,且至少n阶代数精度。与节点的选取有关。 误差
例: 一点数值积分 0阶代数精度 1阶代数精度
Newton-Cote’s 积分 若节点可以自由选取,则,一个自然的办法就是取等距节点。对区间做等距分割。
设节点步长 与步长h无关,可以预先求出 (b-a)
N=1时 梯形公式
N=2时 Simpson公式
误差 1、梯形公式 此处用了积分中值定理
2、Simpson公式 注意到,Simpson公式有3阶代数精度,因此为了对误差有更精确地估计,我们用3次多项式估计误差 为0
一般的有 因此,N-C积分,对偶数有n+1阶代数精度,而奇数为n阶代数精度
复化积分 数值积分公式与多项式插值有很大的关系。因此Runge现象的存在,使得我们不能用 太多的积分点计算。采用与插值时候类似,我们采用分段、低阶的方法
复化梯形公式 做等距节点, 误差
由均值定理知 可以看出,复化梯形公式是收敛的。
复化Simpson公式 做等距节点, 误差
由均值定理知 可以看出,复化Simpson公式是收敛的。
~ 定义 若一个积分公式的误差满足 且C 0,则称该公式是 p 阶收敛的。 例:计算 其中 解: = 3.138988494 其中 运算量基本相同 其中 解: = 3.138988494 其中 = 3.141592502
3、积分的自适应计算 函数变化有急有缓,为了照顾变化剧烈部分的误差,我们需要加密格点。对于变化 缓慢的部分,加密格点会造成计算的浪费。以此我们介绍一种算法,可以自动在变化剧烈的地方加密格点计算,而变化缓慢的地方,则取稀疏的格点。
①先看看事后误差估计 (不同的误差表达式,事后误差估计式是不同的) 以复化梯形公式为例 n等分区间 2n等分区间 近似有: 类似,复化Simpsom公式
②自适应计算 记 为复化一次,2次的Simpson公式 控制 求
是
4、Romberg积分 由前面的事后误差估计式, 则, 类似, 这启发我们,可以用低阶的公式组合后称为一个高阶的公式。
记 为以步长为h的某数值积分公式,有
… … … … … … Romberg 算法: T T T T T T T T T T T1 = T2 = S1 = 有如下的Euler-Maclaurin定理 若 为2m阶公式,则 Romberg积分就是不断地用如上定理组合低阶公式为高阶公式,进而计算积分 T1 = ) ( T < ? Romberg 算法: T2 = ) 1 ( T S1 = ) ( 1 T < ? T4 = ) 2 ( T S2 = ) 1 ( T C1 = ) ( 2 T < ? T8 = ) 3 ( T S4 = ) 2 ( 1 T C2 = ) 1 ( 2 T R1 = ) ( 3 T … … … … … …
重积分的计算 在微积分中,二重积分的计算是用化为累次积分的方法进行的。计算二重数值积分 也同样采用累次积分的计算过程。简化起见,我们仅讨论矩形区域上的二重积分。对 非矩形区域的积分,大多可以变化为矩形区域上的累次积分。 a,b,c,d为常数,f在D上连续。将它变为化累次积分 首先来看看复化梯形公式的二重推广
二重积分的复化梯形公式 做等距节点,x轴,y轴分别有: 先计算 ,将x作为常数,有 再将y作为常数,在x方向,计算上式的每一项的积分
系数,在积分区域的四个角点为1/4,4个边界为1/2,内部节点为1 误差
二重积分的复化Simpson公式 做等距节点,x轴,y轴分别有: m,n为偶数 类似前面有: 记
误差
Gauss型积分公式 Newton-Cote’s积分公式,可以知道n为偶数时,n+1个点数值积分公式有n+1阶精度。是否有更高的代数精度呢?n个点的数值积分公式,最高可以到多少代数精度?本节会解决这个问题。
具有3阶代数精 度,比梯形公式 1阶代数精度高 例:在两点数值积分公式中,如果积分点也作为未知量,则有4个未知量 可以列出4个方程: (以f(x)在[-1,1]为例) 具有3阶代数精 度,比梯形公式 1阶代数精度高 可解出: 可以看出,数值积分公式
定理 n个积分点的数值积分公式,最高2n-1阶 证明: 取 易知: 如何构造最高阶精度的公式?
一般性,考虑积分: 称为权函数 定义两个可积函数的内积为: 两个函数正交,就是指这两个函数的内积为0
利用Schmidt正交化过程, 就可以将多项式基函数 变为正交基
以n阶正交多项式的n个零点为积分点的数值积分公式有2n-1阶的代数精度 Gauss点 Gauss积分,记为Gn(f) 证明: 若f为2n-1次多项式,则 为n-1次多项式 又, 仅差一个常数(零点相同) 具有一个很好的性质:
Gauss型求积公式的构造方法 (1)求出区间[a,b]上权函数为W(x)的正交多项式pn(x) . (2)求出pn(x)的n个零点x1 , x2 , … xn 即为Gsuss点. (3)计算积分系数
解 按 Schemite 正交化过程作出正交多项式: 例: 的2点Gauss公式. 求积分 解 按 Schemite 正交化过程作出正交多项式:
P2(x)的两个零点为 积分系数为 故两点Gauss公式为
(1) Gauss-Legendre求积公式 区间[-1,1]上权函数W(x)=1的Gauss型求积公式,称为Gauss-Legendre求积公式,其Gauss点为Legendre多项式的零点. 公式的Gauss点和求积系数可在数学用表中查到 . 由 因此,[a,b]上权函数W(x)=1的Gauss型求积公式为
n xk Ak 1 2 6 ±0.9324695142 ±0.6612093865 ±0.2386191861 0.1713244924 0.3607615730 0.4679139346 ±0.5773502692 3 ±0.7745966692 0.5555555556 0.8888888889 7 ±0.9491079123 ±0.7415311856 ±0.4058451514 0.1294849662 0.2797053915 0.3818300505 0.4179591837 4 ±0.8611363116 ±0.3399810436 0.3478548451 0.6521451549 8 ±0.9602898565 ±0.7966664774 ±0.5255324099 ±0.1834346425 0.1012285363 0.2223810345 0.3137066459 0.3626837834 5 ±0.9061798459 ±0.5384693101 0.2369268851 0.4786286705 0.5688888889
Q:什么样的插值多项式在 x0 … xn 上有 2n+1 阶? Gauss 公式的余项: /* 设P为f 的过x0 … xn的插值多项式 */ /*只要P 的阶数不大于2n+1,则下一步等式成立*/ 插值多项式的余项 Q:什么样的插值多项式在 x0 … xn 上有 2n+1 阶?
A:Hermite 多项式! 满足
(2) Gauss-Laguerre求积公式 区间[0,)上权函数W(x)=e-x的Gauss型求积公式,称为Gauss-Laguerre求积公式,其Gauss点为Laguerre多项式的零点. 公式的Gauss点和求积系数可在数学用表中查到 . 由 所以,对[0, +)上权函数W(x)=1的积分,也可以构造类似的Gauss-Laguerre求积公式:
n xk Ak 2 0.5858864376 3.4142135623 0.8535533905 0.1464466094 5 0.2635603197 1.4134030591 3.5964257710 7.0858100058 12.6408008442 0.5217556105 0.3986668110 0.0759424497 0.0036117587 0.0000233700 3 0.4157745567 2.2942803602 602899450829 0.7110930099 0.2785177335 0.0103892565 6 0.2228466041 1.1889321016 2.9927363260 5.7751435691 9.8374674183 15.9828739806 0.4589646793 0.4170008307 0.1133733820 0.0103991975 0.0002610172 0.0000008985 4 0.3225476896 1.7457611011 4.5366202969 9.3950709123 0.6031541043 0.3574186924 0.0388879085 0.0005392947
(3) Gauss-Hermite求积公式 区间(-,)上权函数W(x)= 的Gauss型求积公式,称为Gauss-Hermite求积公式, 其Gauss点为Hermite多项式的零点. 公式的Gauss点和求积系数可在数学用表中查到 . n xk Ak 2 ±0.7071067811 0.8862269254 6 ±0.4360774119 ±1.3358490704 ±2.3506049736 0.7246295952 0.1570673203 0.0045300099 3 ±1.2247448713 0.2954089751 1.8163590006 4 ±0.5246476232 ±1.6506801238 0.8049140900 0.0813128354 7 ±0.8162878828 ±1.6735516287 ±2.6519613563 0.4256072526 0.0545155828 0.0009717812 0.8102646175 5 ±0.9585724646 ±2.0201828704 0.3936193231 0.0199532421 0.9453087204