Skip to content

一维数值积分理论

一般计算数学系计算定积分都不是通过牛顿-莱布尼兹公式进行计算,而是通过其离散的近似,也就是所谓的数值积分。下面我们考虑要计算下面的积分

\[ I(f) = \int_a^b f(x)\rho(x)\mathrm{d} x, \]

其中 \(f(x) \in C[a,b]\)\(\rho(x) \in C[a,b]\) 且对于 \(\forall x \in (a,b)\) 均有 \(\rho(x) > 0\)

数值积分的格式

回顾一下定积分的定义,即将 \([a,b]\) 区间划分为「无穷」份,用每个节点 \(x_k\) 上的函数值 \(f(x_k)\) 乘上间距 \(\Delta x_k\) 再求和:

\[ I(f) = \int_a^b f(x)\rho(x)\mathrm{d} x = \lim \limits _{||T|| \rightarrow 0} \sum\limits_{k = 0}^n f(x_k) \Delta x_k \]

其中 \(T\) 表示 \([a,b]\) 区间的划分,\(||T||\) 表示划分中最大的区间长度,\(n\) 表示区间划分数。

而所谓数值积分,就是在 \([a,b]\) 中选择一些节点 \(x_k\),并给这些节点赋予不同的权重 \(w_k\) ,用权重乘节点上函数值的和逼近原积分 \(I(f)\)

定义(数值积分公式)

我们使用下面的数值积分公式 \(I_n(f)\) 逼近上述 \(I(f)\)

\[ I_n(f) = \sum\limits_{k = 1}^n w_kf(x_k) \]

误差分析

从数值积分公式的定义不难看出,我们需要解决的第一个问题就是节点权重的计算,但是如果不在乎误差,其实权重怎么取都行(最多不收敛呗),因此我们得先引入误差的概念,再根据误差的要求去计算相应权重。

定义(数值积分误差)

用数值积分格式 \(I_n(f)\) 去逼近定积分 \(I(f)\),其误差定义为:

\[ E_n(f) := I(f) - I_n(f)\]

衡量数值积分精度的最简单方式是该数值积分计算多项式能否正确,因此定义数值积分的代数精度如下

定义(数值积分代数精度)

用数值积分格式 \(I_n(f)\) 去逼近定积分 \(I(f)\),若其满足

\[ \forall f \in \mathbb{P}_d, E_n(f) = 0, \quad \exists g \in \mathbb{P}_{d+1}, E_n(g) \neq 0\]

则称数值积分格式 \(I_n(f)\)\(d\) 阶代数精度。其中 \(\mathbb{P}_d\) 表示阶数不超过 \(d\) 的多项式组成的空间

权重的计算

有了精度的保证,我们便可以计算出数值积分格式的权重,后面所有的数值积分格式权重都是如下这样计算的

定理(数值积分权重计算)

\(x_1,\cdots, x_n\) 是数值积分格式 \(I_n(f)\) 的节点,且 \(I_n(f)\) 的精度 \(d \geq n-1\),则它每个点的权重 \(w_k\) 可如下计算

\[ w_k = \int_a^b \rho(x) l_k(x)\mathrm{d} x, \quad \forall k = 1,2,\cdots,n.\]

其中 \(l_k(x) = \prod \limits_{i \neq k, i = 1}^n \frac{x - x_i}{x_k - x_i}\) 是拉格朗日插值的基函数。

证明:给定 \(p_{n-1}(x) \in \mathbb{P}_{n-1}\),根据 Lagrange 插值公式 可知:

\[ p_{n-1}(x) = \sum\limits_{k = 1}^n p_{n-1}(x_k)l_k(x) \]

因此 \({\displaystyle \int_a^b \rho(x)p_{n-1}(x)\mathrm{d} x = \sum\limits_{k = 1}^n p_{n-1}(x_k)\int_a^b \rho(x)l_k(x)\mathrm{d} x}\),而由于代数精度 \(d \geq n-1\)\(p_{n-1}(x)\) 的数值积分格式是精确的,从而

\[ w_k = \int_a^b \rho(x)l_k(x)\mathrm{d} x \]