Numerical Differentiation and Integration¶
约 1540 个字 预计阅读时间 5 分钟
Numerical Differentiation¶
Use Lagrange Polynomial¶
- Forward-difference formula & Backward-difference formula:
- (n+1)-Point formula:
Use Taylor Polynomial¶
Richardson Extrapolation¶
假设我们有 \(M\) 的如下估计式:
其中 \(N_1(h)\) 后面的项为估计式 \(N_1(h)\) 的截断误差 \(R_1(h)\),可以看到 \(R_1(h) \in O(h)\),下面我们使用 Richardson 外推法构造一个截断误差更小的估计式 \(N_2(h)\):
令 \(N_2(h) = 2N_1\left(\frac{h}{2}\right) - N_1(h)\),\(K_{2i} = \left( \dfrac{1}{2^{i-1}} - 1 \right) K_{1i}\),则有
由于 \(|K_{2i}| \leq |K_{1i}|\),我们有 \(R_2(h) \in O(h^2)\),以此类推,我们可以构造出估计式 \(R_m(h)\),使得 \(R_m(h) \in O(h^{2^{m-1}})\). 因此我们只需要几次外推就可以得到一个截断误差很小的估计式.
外推法特别适合用在使用 Taylor 展开来估计函数导数的情形.
Numerical Integration (Numerical Quadrature)¶
目标:求 \(I = \int_a^b f(x) \intdd{x}\) 满足给定精度的近似解.
Definition :: Degree of accuracy / precision
称满足下列条件的最大正整数 \(n\) 为数值积分方法的精确度(degree of accuracy / Precision):
设 \(G(f, a, b)\) 为函数 \(f(x)\) 在区间 \([a, b]\) 上的定积分 \(\int_a^b f(x) \intdd{x}\) 的近似值,对于任意 \(k = 0, 1, \cdots, n\),满足
Quadrature based on Lagrange Interpolation¶
基本思路:
- 在区间 \([a, b]\) 上取 \(n+1\) 个点 \(x_0, x_1, \cdots, x_n\),满足 \(a = x_0 < x_1 < \cdots < x_n = b\).
- 以这 \(n+1\) 个点为插值点,计算 Lagrange 基函数 \(L_i(x)\).
-
将 Lagrange 插值多项式的积分作为 \(f(x)\) 在 \([a, b]\) 上的定积分近似值,即
\[ \int_a^b f(x) \intdd{x} \approx \sum\limits_{i=0}^n f(x_i) L_i(x) \intdd{x}. \] -
积分的误差为 Lagrange 插值的余项的积分,即
\[ R[f] = \int_a^b \frac{f^{(n+1)}(\xi_x)}{(n+1)!} \prod_{i=0}^n (x-x_i) \intdd{x}. \]
Definition :: Newton-Cotes formulae
特别地,我们通常会在 \([a, b]\) 上等间距地取点,即 \(x_i = a + i h\),其中 \(h = \dfrac{b - a}{n}\),则有
式 \(C_i^{(n)} = \dfrac{(-1)^{n-1}}{n! (n-i)!} \int_0^n \prod_{j \neq i} (t-j) \intdd{t}\) 被称为 Cotes 系数,只与 \(n\) 和 \(i\) 有关.
some common Newton-Cotes formulae
-
Trapezoidal rule (\(n=1\)): \(P = 1\)
\[ \int_a^b f(x) \intdd{x} = \frac{b-a}{2} (f(a) + f(b)) - \frac{1}{12} h^3 f''(\xi), \enspace h = b-a. \] -
Simpson rule (\(n=2\)): \(P = 3\)
\[ \int_a^b f(x) \intdd{x} = \frac{b-a}{6} (f(a) + 4f(\frac{a+b}{2}) + f(b)) - \frac{1}{90} h^5 f^{(4)}(\xi), \enspace h = \frac{b-a}{2}. \] -
Simpson's ⅜ rule (\(n=3\)): \(P = 3\)
\[ R[f] = -\frac{3}{80} h^5 f^{(5)}(\xi), \enspace h = \frac{b-a}{3}. \] -
Cotes Rule (\(n=4\)): \(P = 5\)
\[ R[f] = - \frac{8}{945} h^7 f^{(6)}(\xi), \enspace h = \frac{b-a}{4}. \]
Theorem :: Remainder of Newton-Cotes formulae
对于闭区间 \([a,b]\) 上 \(n+1\) 阶的 Newton-Cotes 公式,存在 \(\xi \in (a, b)\) 使得
其中 \(h = \dfrac{b - a}{n}\).
Composite Numerical Integration¶
在上节中,我们发现若使用 Newton-Cotes 公式,为了提高数值积分的精度就必须增加 Lagrange 插值多项式的阶数 \(n\),然而对于一些函数,当 \(n\) 较大时,其 Lagrange 插值多项式会出现振荡现象,导致误差增大. 下面我们将通过分段插值的方法解决这个问题,该方法被称作复合数值积分法.
基本思路:
- 将区间 \([a, b]\) 均分为 \(n\) 个子区间 \([x_i, x_{i+1}]\)
- 在每个子区间上使用 Newton-Cotes 公式计算积分近似值.
- 将结果累加得到最终结果.
复合数值积分法是稳定的,其采样点 \(f(x_i)\) 的误差上界 \(\varepsilon\) 和最后的积分值 \(I\) 的误差上界 \(\varepsilon_I\) 满足线性关系,即 \(\varepsilon_I \leq (b-a) \varepsilon\).
Composite Trapezoidal rule
将区间 \([a, b]\) 均分为 \(n\) 个子区间 \([x_i, x_{i+1}]\),其中 \(x_k = a + k h, \enspace h = \dfrac{b - a}{n}\),则 \(I\) 的估计式 \(T_n\) 和余项 \(R[f]\) 可表示为
Composite Simpson's rule
将区间 \([a, b]\) 均分为 \(n\) 个子区间 \([x_i, x_{i+1}]\),其中 \(x_k = a + k h, \enspace h = \dfrac{b - a}{n}\),则 \(I\) 的估计式 \(S_n\) 和余项 \(R[f]\) 可表示为
令 \(h' = \dfrac{h}{2}, \enspace x_k = a + k h'\),则有
在实际应用中,我们常常取 \(n=2^k\) 作为分段数.