昆仑山:眼中无形心中有穴之穴人合一

夫君子之行,静以修身,俭以养德;非澹泊无以明志,非宁静无以致远。夫学须静也,才须学也;非学无以广才,非志无以成学。怠慢则不能励精,险躁则不能冶性。年与时驰,意与岁去,遂成枯落,多不接世。悲守穷庐,将复何及!

 

4.1数值积分概论+本授课

数值积分概论 知识点深度讲解

各位同学,今天我们来系统讲解数值积分的基础内容,这部分是整个数值分析体系中承上启下的核心模块——上接插值多项式的理论,下启微分方程数值求解、工程积分计算等实际应用。我会从“为什么学、是什么、怎么用、怎么衡量好坏”四个维度,把每个知识点的来龙去脉、核心本质和关键细节讲透。


一、为什么需要数值积分?——牛顿-莱布尼茨公式的局限性

我们在微积分中都学过,定积分的定义是黎曼和的极限,本质是求区间\([a,b]\)上曲线\(y=f(x)\)与坐标轴围成的曲边梯形的面积,记为:

\[I = \int_a^b f(x)dx \]

而微积分基本定理(牛顿-莱布尼茨公式)给了我们解析求解的方法:只要找到\(f(x)\)的原函数\(F(x)\)(满足\(F'(x)=f(x)\)),就有

\[\int_a^b f(x)dx = F(b) - F(a) \]

既然有解析方法,我们为什么还要研究数值积分?核心原因是:在实际工程、科学计算的绝大多数场景中,牛顿-莱布尼茨公式要么用不了,要么用起来得不偿失,具体有三个无法回避的痛点:

1. 大量被积函数的原函数无法用初等函数表达

我们把幂函数、指数函数、对数函数、三角函数、反三角函数统称为初等函数,而工程中高频使用的很多函数,原函数根本无法用初等函数的有限次四则运算和复合表示,行业内叫“积不出来”的函数。
比如:

  • 光学、信号处理中常用的菲涅尔积分\(\sin x^2\)\(\cos x^2\)
  • 概率统计、热传导中核心的高斯积分\(e^{-x^2}\)
  • 电路分析中常用的正弦积分\(\frac{\sin x}{x}(x≠0)\)

这些函数的原函数是客观存在的,但无法写出初等表达式,牛顿-莱布尼茨公式直接失效。

2. 即使原函数可求,计算复杂度也远超数值方法

有些被积函数的原函数虽然能求出来,但形式极其复杂,手算几乎不可能,即使用计算机计算,浮点运算的误差也会远大于数值积分的误差。
比如教材中举的例子\(f(x)=\frac{1}{1+x^6}\),它的原函数包含反正切、对数项,形式冗长,要计算\(F(b)-F(a)\),需要处理定义域、多值函数、浮点舍入等一系列问题,远不如直接用数值积分算结果高效。

3. 实际工程中,被积函数往往只有离散的测量数据

工业生产、实验测量中,我们很多时候根本拿不到\(f(x)\)的解析表达式,只能拿到一组离散的测量数据:比如每隔0.1mm测一次零件的轮廓高度,每隔1小时测一次管道的流量,得到的是一堆\((x_i, f(x_i))\)的数表。
这种情况下,没有解析表达式,就不可能求原函数,牛顿-莱布尼茨公式完全无法使用,只能通过离散数据计算积分的近似值。

正是这三个核心痛点,决定了我们必须研究积分的数值计算方法,也就是数值积分。


二、数值积分的基本思想

既然原函数不好找、甚至没有,那我们的核心思路就是绕开“求原函数”这个步骤,直接通过离散的函数值,计算积分的近似值

那具体怎么实现?我们要找一个“积分好算、又能近似代替\(f(x)\)”的函数。什么函数的积分最好算?多项式
多项式的积分有固定的、极其简单的公式:\(\int_a^b x^k dx = \frac{1}{k+1}(b^{k+1}-a^{k+1})\),无论多少次的多项式,积分都能一步算出;同时,根据魏尔斯特拉斯逼近定理,闭区间上的连续函数,都可以用多项式任意逼近,这给我们的方法提供了坚实的理论基础。

由此,我们得到数值积分的核心思想,一句话概括:

用插值多项式\(p(x)\)近似代替被积函数\(f(x)\),将复杂的\(\int_a^b f(x)dx\)计算,转化为简单的\(\int_a^b p(x)dx\)计算,用多项式的积分值作为原积分的近似值,即:

\[\int_a^b f(x)dx \approx \int_a^b p(x)dx \]

这个思想是整个数值积分的基石,后面我们要学的梯形公式、辛普森公式、牛顿-科茨公式、高斯求积公式,全都是这个思想的延伸和特例。


三、插值型求积公式——核心思想的落地实现

我们把上面的思想具体化,就得到了插值型求积公式,这是数值积分最基础、最核心的公式形式。

1. 公式的完整推导

我们先给定前提条件:
在积分区间\([a,b]\)上,取\(n+1\)个互不相同的节点,满足\(a \le x_0 < x_1 < x_2 < \dots < x_n \le b\),并且已知\(f(x)\)在这些节点上的函数值\(f(x_0),f(x_1),\dots,f(x_n)\)(无论是计算得到的,还是实验测量的)。

步骤1:构造拉格朗日插值多项式

根据之前学的插值理论,给定\(n+1\)个节点,我们可以构造唯一的\(n\)次拉格朗日插值多项式:

\[L_n(x) = \sum_{k=0}^n f(x_k) l_k(x) \]

其中\(l_k(x)\)是拉格朗日插值基函数,是\(n\)次多项式,满足克罗内克性质:\(l_k(x_j) = \begin{cases}1, & k=j \\ 0, & k≠j\end{cases}\),它只和节点\(x_0\dots x_n\)有关,和被积函数\(f(x)\)完全无关。

同时,插值多项式有严格的余项公式:

\[f(x) = L_n(x) + R_n(x) \]

其中\(R_n(x) = \frac{f^{(n+1)}(\xi)}{(n+1)!} \omega_{n+1}(x)\)\(\omega_{n+1}(x)=(x-x_0)(x-x_1)\dots(x-x_n)\)\(\xi\)是区间\([a,b]\)内依赖于\(x\)的某个值。

步骤2:对插值等式两边同时积分

我们对\(f(x) = L_n(x) + R_n(x)\)\([a,b]\)上做定积分,得到严格成立的等式:

\[\int_a^b f(x)dx = \int_a^b L_n(x)dx + \int_a^b R_n(x)dx \]

这个等式没有任何近似,左边是积分的精确值,右边第一项是插值多项式的积分,第二项是插值余项的积分(也就是我们后面要讲的求积公式的余项)。

步骤3:计算插值多项式的积分,推导求积公式

\(L_n(x)\)的展开式代入积分,由于是有限项求和,积分和求和可以交换顺序,得到:

\[\int_a^b L_n(x)dx = \int_a^b \sum_{k=0}^n f(x_k) l_k(x) dx = \sum_{k=0}^n f(x_k) \cdot \int_a^b l_k(x) dx \]

这里有一个关键细节:\(f(x_k)\)是节点上的函数值,是和积分变量\(x\)无关的常数,所以可以直接提到积分外面;而\(\int_a^b l_k(x) dx\)是基函数的积分,只要区间\([a,b]\)和节点\(x_0\dots x_n\)确定,这个积分就是一个固定的常数,和\(f(x)\)没有任何关系。

我们给这个常数起一个名字:求积系数,也叫伴随节点的权,记为\(A_k\),即:

\[A_k = \int_a^b l_k(x) dx, \quad k=0,1,2,\dots,n \]

我们把\(\int_a^b L_n(x)dx\)记为\(I_n\),就得到:

\[I_n = \sum_{k=0}^n A_k f(x_k) \]

现在,我们把严格等式中的余项\(\int_a^b R_n(x)dx\)舍去,就得到了积分的近似计算公式:

\[\int_a^b f(x)dx \approx I_n = \sum_{k=0}^n A_k f(x_k) \tag{4.1} \]

这个公式,就是插值型求积公式

2. 插值型求积公式的核心性质

这里我必须给大家讲透三个核心性质,这是理解所有数值积分公式的关键:

  1. 公式的本质:插值型求积公式,是节点函数值的加权平均和,求积系数\(A_k\)就是每个函数值\(f(x_k)\)的权重。
  2. 求积系数的核心特性\(A_k\)仅由积分区间\([a,b]\)和求积节点\(x_k\)的选取决定,和被积函数\(f(x)\)完全无关。也就是说,只要区间和节点定了,无论你积分什么函数,\(A_k\)都是固定的,可以提前计算好,使用时直接套公式即可。
  3. 公式的根源:它完全来自于拉格朗日插值多项式的积分,所有插值型求积公式,都可以追溯到这个根源,后面的所有具体求积公式,都是它的特例。

3. 经典特例:梯形公式

我们用最简单的\(n=1\)(2个节点)的情况,来验证插值型求积公式,也就是大家熟知的梯形公式

取区间的两个端点作为节点:\(x_0=a\)\(x_1=b\),对应的是一次拉格朗日插值(线性插值)。

第一步,写出插值基函数:

\[l_0(x) = \frac{x - x_1}{x_0 - x_1} = \frac{x - b}{a - b}, \quad l_1(x) = \frac{x - x_0}{x_1 - x_0} = \frac{x - a}{b - a} \]

第二步,计算求积系数\(A_0\)\(A_1\)

\[A_0 = \int_a^b l_0(x) dx = \int_a^b \frac{x - b}{a - b} dx = \frac{b-a}{2} \]

\[A_1 = \int_a^b l_1(x) dx = \int_a^b \frac{x - a}{b - a} dx = \frac{b-a}{2} \]

第三步,代入插值型求积公式,得到:

\[\int_a^b f(x)dx \approx \frac{b-a}{2}[f(a) + f(b)] \tag{4.2} \]

这个就是梯形公式,它的几何意义非常直观:
线性插值多项式\(L_1(x)\),就是连接\((a,f(a))\)\((b,f(b))\)的直线,\(\int_a^b L_1(x)dx\)就是这条直线与\(x=a\)\(x=b\)\(x\)轴围成的梯形的面积。我们用这个梯形的面积,近似代替曲线\(f(x)\)下的曲边梯形的面积,这就是“梯形公式”名字的由来。


四、代数精度——衡量求积公式好坏的核心标准

我们有了各种各样的求积公式,怎么判断哪个公式更准确、近似效果更好?这里就引入了数值积分中最核心的评价指标:代数精度

1. 代数精度的来源

我们先回到插值型求积公式的余项:

\[R[f] = \int_a^b R_n(x)dx = \frac{1}{(n+1)!} \int_a^b f^{(n+1)}(\xi) \omega_{n+1}(x) dx \tag{4.3} \]

这里有一个关键现象:如果被积函数\(f(x)\)次数不超过\(n\)的多项式,那么它的\(n+1\)阶导数\(f^{(n+1)}(x) \equiv 0\),此时余项\(R[f] = 0\),求积公式就不再是近似,而是严格准确成立的。

如果\(f(x)\)\(n+1\)次多项式,它的\(n+1\)阶导数是不为0的常数,余项就不为0,公式就不再准确。

从这个现象,我们就引出了代数精度的定义。

2. 代数精度的严格定义

定义4.1 如果某个求积公式,对于所有次数不超过\(m\)的多项式,都能准确成立(积分精确值=求积公式计算值);但对于\(m+1\)次多项式,不能准确成立,则称该求积公式具有\(m\)次代数精度(也叫代数精确度)。

这里我必须拆解定义的两个核心要求,缺一不可:

  1. 下限要求:对所有0次、1次、2次……\(m\)次多项式,公式必须全部准确成立;
  2. 上限要求:至少存在一个\(m+1\)次多项式,公式不准确成立。

同时给大家一个验证代数精度的实用技巧:
由于多项式是幂函数的线性组合,而积分和求积公式都是线性运算,因此我们不需要验证所有多项式,只需要验证幂函数\(f(x)=1, x, x^2, \dots, x^m, x^{m+1}\)即可:

  • 若对\(f(x)=1\)\(f(x)=x^m\)都准确,对\(f(x)=x^{m+1}\)不准确,则代数精度就是\(m\)

3. 核心定理与实例验证

定理4.1 插值型求积公式的代数精度下限

插值型求积公式(4.1)的代数精度至少为\(n\)

这个定理是插值型求积公式的核心结论,证明逻辑就是我们刚才讲的:只要\(f(x)\)是次数不超过\(n\)的多项式,插值余项就为0,求积公式就准确成立,因此它的代数精度不会低于\(n\)

这里的“至少”非常关键:它的代数精度最低是\(n\),但通过优化节点的选取,我们可以得到更高的代数精度,比如后面要学的高斯求积公式,\(n+1\)个节点可以达到\(2n+1\)次代数精度,这是数值积分中精度最高的一类公式。

实例1:验证梯形公式的代数精度

梯形公式是\(n=1\)的插值型求积公式,根据定理,它的代数精度至少为1,我们来完整验证:

  1. 验证\(f(x)=1\)(0次多项式):
    精确值:\(\int_a^b 1 dx = b-a\)
    梯形公式计算值:\(\frac{b-a}{2}(1+1) = b-a\)
    左边=右边,准确成立。

  2. 验证\(f(x)=x\)(1次多项式):
    精确值:\(\int_a^b x dx = \frac{1}{2}(b^2 - a^2)\)
    梯形公式计算值:\(\frac{b-a}{2}(a+b) = \frac{1}{2}(b^2 - a^2)\)
    左边=右边,准确成立。

  3. 验证\(f(x)=x^2\)(2次多项式):
    精确值:\(\int_a^b x^2 dx = \frac{1}{3}(b^3 - a^3)\)
    梯形公式计算值:\(\frac{b-a}{2}(a^2 + b^2)\)
    举个具体例子,取\(a=0,b=1\),精确值为\(\frac{1}{3}\),梯形公式计算值为\(\frac{1}{2}(0+1)=\frac{1}{2}\),明显不相等。

因此,梯形公式对0次、1次多项式准确,对2次多项式不准确,根据定义,它的代数精度为1,和定理结论一致。

实例2:中矩形公式(中点公式)

代数精度不仅可以用来评价公式,还可以反过来构造求积公式,中矩形公式就是最典型的例子。

我们要构造一个单节点的求积公式,形式为:

\[\int_a^b f(x)dx \approx A_0 f(x_0) \]

这里有两个待定参数:求积系数\(A_0\)、求积节点\(x_0\)。我们要求它的代数精度至少为1,也就是对\(f(x)=1\)\(f(x)=x\)都准确,据此列方程组:

  1. \(f(x)=1\),公式准确:\(\int_a^b 1 dx = A_0 \cdot 1\),得\(A_0 = b-a\)
  2. \(f(x)=x\),公式准确:\(\int_a^b x dx = A_0 \cdot x_0\),代入\(A_0 = b-a\),得\(x_0 = \frac{a+b}{2}\)(区间中点)。

由此得到中矩形公式:

\[\int_a^b f(x)dx \approx (b-a)f\left( \frac{a+b}{2} \right) \]

我们验证它的代数精度:对\(f(x)=1\)\(f(x)=x\)都准确,对\(f(x)=x^2\),取\(a=0,b=1\),精确值为\(\frac{1}{3}\),公式计算值为\(1 \cdot (\frac{1}{2})^2 = \frac{1}{4}\),不准确,因此它的代数精度也是1。

这个例子告诉我们:求积公式的构造有两条核心路径,一条是“先插值,后积分”的插值型路径,另一条是“先定代数精度,再解方程组”的构造路径,这两条路径贯穿了整个数值积分的内容。


五、知识点总结与后续铺垫

今天我们讲的这部分内容,是整个数值积分的基石,完整的逻辑链可以总结为4步:

  1. 需求驱动:牛顿-莱布尼茨公式的三大局限性,决定了数值积分的必要性;
  2. 核心思想:用插值多项式近似代替被积函数,绕开原函数求解,直接计算积分近似值;
  3. 公式落地:通过拉格朗日插值多项式的积分,推导出插值型求积公式,明确求积系数的核心性质;
  4. 精度评价:定义代数精度作为求积公式的核心评价指标,明确插值型求积公式的精度下限,同时可以通过代数精度反向构造求积公式。

后续我们要学的牛顿-科茨公式,就是等距节点下的插值型求积公式;复合求积公式,是为了解决高阶插值的龙格现象,把区间分段后用低阶求积公式;龙贝格求积,是通过理查森外推提升精度;而高斯求积,是通过优化节点位置,把插值型求积公式的代数精度提升到理论上限。把今天的基础打牢,后面的内容都会水到渠成。

数值积分进阶知识点深度讲解

各位同学,我们接着上一讲的内容,继续拆解数值积分的核心知识点。这部分内容是代数精度的实际应用、求积公式的误差分析(余项),以及数值方法的两大核心性质——收敛性与稳定性,是我们从“认识求积公式”到“会用、会选、会评估求积公式”的关键过渡,我会把每个知识点的原理、推导逻辑和工程意义讲透。


一、利用代数精度构造求积公式(例4.1深度解析)

这个例题是代数精度最核心的应用之一:反向构造求积公式。上一讲我们是“先有插值,后有公式”,这里我们反过来,先给定求积公式的形式,通过代数精度的要求,求解待定系数,同时确定公式能达到的最高代数精度。

1. 题目背景与本质

题目给定的求积公式形式为:

\[\int_0^1 f(x)dx \approx A_0 f(0) + A_1 f(1) + B_0 f'(0) \]

首先要明确这个公式的本质:它不是普通的拉格朗日插值型求积公式,而是带导数的埃尔米特插值型求积公式——它不仅用到了区间端点的函数值\(f(0)\)\(f(1)\),还用到了左端点的导数值\(f'(0)\),共3个插值条件,对应可以构造3个待定系数,理论上可以达到更高的代数精度。

我们的目标是:确定\(A_0,A_1,B_0\),让公式的代数精度尽可能高。

2. 解题核心逻辑

根据代数精度的定义:若公式对所有次数≤\(m\)的多项式都精确成立,对\(m+1\)次多项式不精确,则代数精度为\(m\)
而多项式是幂函数的线性组合,积分和求积公式都是线性运算,因此我们只需要依次代入幂函数\(f(x)=1,x,x^2,\dots,x^k\),让公式精确成立,直到无法满足为止。

这里有3个待定系数,最多可以列3个独立的线性方程,因此我们先代入\(f(x)=1,x,x^2\),得到方程组求解系数,再验证更高次的幂函数,确定最高代数精度。

3. 分步推导与计算

步骤1:代入低次幂函数,列方程组

  • \(f(x)=1\)(0次多项式):
    积分精确值:\(\int_0^1 1dx = 1\)
    求积公式右端:\(A_0 \cdot 1 + A_1 \cdot 1 + B_0 \cdot 0 = A_0 + A_1\)
    要求精确成立,得第一个方程:\(\boldsymbol{A_0 + A_1 = 1}\)

  • \(f(x)=x\)(1次多项式):
    积分精确值:\(\int_0^1 xdx = \frac{1}{2}\)
    求导得\(f'(x)=1\),因此\(f'(0)=1\),公式右端:\(A_0 \cdot 0 + A_1 \cdot 1 + B_0 \cdot 1 = A_1 + B_0\)
    要求精确成立,得第二个方程:\(\boldsymbol{A_1 + B_0 = \frac{1}{2}}\)

  • \(f(x)=x^2\)(2次多项式):
    积分精确值:\(\int_0^1 x^2dx = \frac{1}{3}\)
    求导得\(f'(x)=2x\),因此\(f'(0)=0\),公式右端:\(A_0 \cdot 0 + A_1 \cdot 1 + B_0 \cdot 0 = A_1\)
    要求精确成立,得第三个方程:\(\boldsymbol{A_1 = \frac{1}{3}}\)

步骤2:解方程组,确定系数

\(A_1=\frac{1}{3}\)代入第一个方程,得\(A_0 = 1 - \frac{1}{3} = \frac{2}{3}\)
\(A_1=\frac{1}{3}\)代入第二个方程,得\(B_0 = \frac{1}{2} - \frac{1}{3} = \frac{1}{6}\)

由此得到求积公式:

\[\int_0^1 f(x)dx \approx \frac{2}{3}f(0) + \frac{1}{3}f(1) + \frac{1}{6}f'(0) \]

步骤3:验证最高代数精度

我们已经让公式对0、1、2次多项式精确成立,接下来验证3次多项式\(f(x)=x^3\)

  • 积分精确值:\(\int_0^1 x^3dx = \frac{1}{4}\)
  • 求导得\(f'(x)=3x^2\)\(f'(0)=0\),公式右端:\(\frac{2}{3} \cdot 0 + \frac{1}{3} \cdot 1 + \frac{1}{6} \cdot 0 = \frac{1}{3}\)

显然\(\frac{1}{4} \neq \frac{1}{3}\),公式对3次多项式不精确成立。根据代数精度的定义,该公式的最高代数精度为2

4. 关键结论与拓展

  1. 系数校验:求积系数的和\(A_0+A_1=\frac{2}{3}+\frac{1}{3}=1\),正好等于区间长度\(1-0=1\),这是所有代数精度≥0的求积公式都满足的核心性质,可以用来快速校验系数计算是否正确。
  2. 带导数的优势:普通2节点梯形公式(仅用\(f(0),f(1)\))的代数精度为1,而这个带1个导数值的公式,代数精度提升到了2,这就是埃尔米特插值求积的优势——用导数值补充插值条件,提升精度。

二、求积公式的余项(误差分析)

我们用求积公式得到的是积分的近似值,工程计算中必须知道:近似值和真实值的误差有多大?这就是求积公式的余项要解决的问题。

1. 余项的通用表达式

求积公式的余项定义为:积分的精确值减去求积公式的近似值,即

\[R[f] = \int_a^b f(x)dx - \sum_{k=0}^n A_k f(x_k) \]

上一讲我们知道,插值型求积公式的余项是插值余项的积分,但对于一般的求积公式(包括带导数的),我们有更通用的余项表达式:

若求积公式的代数精度为\(m\),则余项可表示为

\[R[f] = K f^{(m+1)}(\eta), \quad \eta \in (a,b) \tag{4.4} \]

其中\(K\)是与被积函数\(f(x)\)无关的常数,\(\eta\)是区间\((a,b)\)内的某个值。

表达式的核心逻辑

这个形式完全贴合代数精度的定义:

  • \(f(x)\)是次数≤\(m\)的多项式时,\(f^{(m+1)}(x) \equiv 0\),因此\(R[f]=0\),公式精确成立,符合代数精度的要求;
  • \(f(x)\)\(m+1\)次多项式时,\(f^{(m+1)}(x)=(m+1)!\)(非零常数),因此余项不为0,公式不精确,也符合定义。

2. 常数\(K\)的计算方法

我们可以通过代入\(f(x)=x^{m+1}\),直接求出\(K\)的表达式:
\(f(x)=x^{m+1}\),则\(f^{(m+1)}(\eta)=(m+1)!\),代入余项公式得:

\[R[f] = K \cdot (m+1)! \]

\(R[f]\)又等于积分精确值减去求积公式的值,即:

\[R[f] = \int_a^b x^{m+1}dx - \sum_{k=0}^n A_k x_k^{m+1} \]

联立两式,解出\(K\)

\[K = \frac{1}{(m+1)!} \left[ \int_a^b x^{m+1}dx - \sum_{k=0}^n A_k x_k^{m+1} \right] \tag{4.5} \]

这个公式是通用的,无论求积公式是否带导数,只要知道代数精度\(m\),就可以求出\(K\),进而得到完整的余项表达式。

3. 经典实例:梯形公式的余项推导

梯形公式的代数精度\(m=1\),因此余项形式为\(R[f] = K f''(\eta), \eta \in (a,b)\),我们用上面的方法计算\(K\)

  1. 梯形公式的求积系数:\(A_0=A_1=\frac{b-a}{2}\),节点\(x_0=a,x_1=b\)
  2. 代入\(f(x)=x^2\)\(m+1=2\)次多项式):
    积分精确值:\(\int_a^b x^2dx = \frac{1}{3}(b^3 - a^3)\)
    求积公式值:\(\frac{b-a}{2}(a^2 + b^2)\)
  3. 计算\(K\)

    \[\begin{align*} K &= \frac{1}{2!} \left[ \frac{1}{3}(b^3 - a^3) - \frac{b-a}{2}(a^2 + b^2) \right] \\ &= \frac{1}{2} \cdot (b-a) \left[ \frac{a^2 + ab + b^2}{3} - \frac{a^2 + b^2}{2} \right] \\ &= \frac{1}{2} \cdot (b-a) \cdot \frac{-a^2 + 2ab - b^2}{6} \\ &= -\frac{(b-a)^3}{12} \end{align*} \]

由此得到梯形公式的余项:

\[R[f] = -\frac{(b-a)^3}{12} f''(\eta), \quad \eta \in (a,b) \tag{4.6} \]

工程意义

这个余项公式告诉我们两个核心结论:

  1. 梯形公式的误差与区间长度的三次方成正比:区间越小,误差衰减越快,这就是后面复合梯形公式的核心原理;
  2. 误差与被积函数的二阶导数的最大值成正比:被积函数越“平缓”(二阶导数越小),误差越小,我们可以用这个公式直接估计积分的误差上界。

4. 例4.2:带导数求积公式的余项

我们用同样的方法,求例4.1中公式的余项:

  1. 例4.1的公式代数精度\(m=2\),因此余项形式为\(R[f] = K f'''(\eta), \eta \in (0,1)\)
  2. 代入\(f(x)=x^3\)\(m+1=3\)次多项式):
    积分精确值:\(\int_0^1 x^3dx = \frac{1}{4}\)
    求积公式值:\(\frac{2}{3} \cdot 0 + \frac{1}{3} \cdot 1 + \frac{1}{6} \cdot 0 = \frac{1}{3}\)
  3. 计算\(K\)

    \[K = \frac{1}{3!} \left( \frac{1}{4} - \frac{1}{3} \right) = \frac{1}{6} \cdot \left( -\frac{1}{12} \right) = -\frac{1}{72} \]

最终得到余项表达式:

\[R[f] = -\frac{1}{72} f'''(\eta), \quad \eta \in (0,1) \]


三、求积公式的收敛性与稳定性

一个数值求积公式能不能在工程中使用,除了精度,还要看两个核心性质:收敛性稳定性

1. 收敛性

收敛性解决的问题是:当我们把区间分得越来越细,节点越来越多的时候,求积公式的结果能不能无限逼近积分的真实值?

严格定义(定义4.2)

在求积公式\(\int_a^b f(x)dx \approx \sum_{k=0}^n A_k f(x_k)\)中,记\(h = \max_{1 \le i \le n} (x_i - x_{i-1})\)(节点的最大间距),若

\[\lim_{\substack{n \to \infty \\ h \to 0}} \sum_{k=0}^n A_k f(x_k) = \int_a^b f(x)dx \]

则称该求积公式是收敛的。

核心解读

  • 收敛性的关键是“节点加密时,误差趋于0”:如果一个公式不收敛,哪怕节点再多,结果也不会逼近真实值,完全没有实用价值;
  • 我们后面要学的复合求积公式,本质就是通过加密节点,利用收敛性,在不提高公式阶数的前提下,大幅降低误差。

2. 稳定性

稳定性解决的问题是:实际计算中,函数值\(f(x_k)\)总会有误差(测量误差、计算机舍入误差),这个输入的小误差,会不会被求积公式放大,导致输出结果出现巨大偏差?

误差背景

我们实际计算时,拿到的不是精确的\(f(x_k)\),而是有误差的近似值\(\tilde{f}_k\),满足\(f(x_k) = \tilde{f}_k + \delta_k\),其中\(\delta_k\)是函数值的误差。
精确的求积结果:\(I_n[f] = \sum_{k=0}^n A_k f(x_k)\)
实际计算的结果:\(I_n[\tilde{f}] = \sum_{k=0}^n A_k \tilde{f}_k\)
我们需要控制的是结果的误差:\(|I_n[f] - I_n[\tilde{f}]|\)

严格定义(定义4.3)

对任意给定的\(\varepsilon>0\),若存在\(\delta>0\),只要所有节点的函数值误差满足\(|f(x_k) - \tilde{f}_k| \le \delta \ (k=0,1,\dots,n)\),就有

\[|I_n[f] - I_n[\tilde{f}]| \le \varepsilon \]

则称该求积公式是稳定的。

简单来说:输入的小误差,只会导致输出的小误差,不会被无限放大,这个公式就是稳定的

3. 稳定性的核心判定定理

定理4.2

若求积公式的所有求积系数\(A_k > 0 \ (k=0,1,\dots,n)\),则该求积公式一定是稳定的。

定理证明

我们用绝对值不等式直接推导:

\[\begin{align*} |I_n[f] - I_n[\tilde{f}]| &= \left| \sum_{k=0}^n A_k (f(x_k) - \tilde{f}_k) \right| \\ &\le \sum_{k=0}^n |A_k| \cdot |f(x_k) - \tilde{f}_k| \end{align*} \]

因为\(A_k>0\),所以\(|A_k|=A_k\),又因为\(|f(x_k)-\tilde{f}_k| \le \delta\),因此:

\[|I_n[f] - I_n[\tilde{f}]| \le \delta \sum_{k=0}^n A_k \]

而代数精度≥0的求积公式,对\(f(x)=1\)精确成立,因此\(\sum_{k=0}^n A_k = \int_a^b 1dx = b-a\),代入得:

\[|I_n[f] - I_n[\tilde{f}]| \le \delta (b-a) \]

现在,对任意的\(\varepsilon>0\),我们只需要取\(\delta = \frac{\varepsilon}{b-a}\),就能保证\(|I_n[f] - I_n[\tilde{f}]| \le \varepsilon\),完全符合稳定性的定义,定理得证。

工程意义

这个定理是我们选择求积公式的核心依据:

  1. 正的求积系数是稳定性的充分条件,只要所有\(A_k>0\),公式就一定稳定;
  2. 若求积系数出现负数,\(\sum|A_k|\)会大于区间长度\(b-a\),误差会被放大,公式可能不稳定;
  3. 这也是为什么高阶牛顿-科茨公式(\(n≥8\))几乎不用的原因:高阶牛顿-科茨公式会出现负的求积系数,稳定性极差,哪怕代数精度高,也没有工程价值。

四、知识点整体总结

这部分内容构成了数值积分的完整基础框架,我们可以把逻辑链总结为4步:

  1. 公式构造:利用代数精度的定义,可以反向构造任意形式的求积公式(包括带导数的),求解待定系数;
  2. 误差评估:通过代数精度\(m\),可以写出余项的通用形式,计算出误差常数\(K\),实现对积分误差的定量估计;
  3. 收敛性:保证节点加密时,求积结果能无限逼近真实积分值,是公式实用的前提;
  4. 稳定性:正的求积系数可以保证公式稳定,避免输入误差被放大,是工程应用的核心保障。

把这些内容吃透,后面我们学习牛顿-科茨公式、复合求积、高斯求积等内容,都会水到渠成。

posted on 2026-02-19 09:26  Indian_Mysore  阅读(1)  评论(0)    收藏  举报

导航