中点法则弧长计算器

用 中点 矩形 近似 任意 曲线 长度 并 实时 检查 误差

复合中点法则
Ln=Δx∑i=0n−11+[f′(xi∗)]2L_n = \Delta x \sum_{i=0}^{n-1} \sqrt{1 + [f'(x_i^*)]^2}

使用 x 作为变量。支持 +、-、*、/、^、sqrt、abs、sin、cos、tan、asin、acos、atan、sinh、cosh、tanh、exp、ln、log、pi、e。例如:2x 表示 2*x,x^2 表示 x 的平方。

函数预设

导数:自动(对偶数)

15000
参考值与图形
例题详解

如何使用中点法则弧长计算器

中点法则弧长计算器把弧长积分分成若干矩形,在每个矩形的中心处取样,从而近似求出曲线的长度。输入函数,选择区间,指定子区间个数,计算器就会显示近似值、完整的中点表、误差估计,以及矩形的实时图形。按以下步骤操作,即可得到正确答案。

  1. 选择计算模式。曲线写成 y = f(x) 的形式时使用显函数,例如 y = x2 或 y = sin(x)。曲线写成 x = x(t) 和 y = y(t) 的形式时使用参数曲线,例如由参数描出的圆或椭圆。
  2. 输入函数。在输入框中输入函数,用 ^ 表示乘方,用平方根函数表示平方根,用 sin()、cos()、exp() 和 ln() 表示标准函数。计算器会自动求出导数;如果已经知道导数,也可以自己输入。
  3. 设定区间。输入下限 a 和上限 b。区间 [a, b] 就是要求长度的那一段曲线。如果输入的 b 小于 a,计算器仍然返回正的长度,因为弧长永远不会是负数。
  4. 选择子区间个数 n。用滑块选择或直接输入数值。预设值包括 1、2、4、5、8、10、20、50、100、500、1,000 和 5,000。n 越大,矩形越窄,近似值通常越接近真实值。先用 n = 4 看清计算过程,再增大 n,观察答案如何稳定下来。
  5. 选择显示精度。选择 2、4、6、8 或 10 位小数。计算器内部始终保持完整精度,只对显示的结果四舍五入,因此改变精度不会改变底层的计算。
  6. 点击“计算弧长”。主要结果是中点近似值 Ln,并明确标注为近似值。在它下方,你可以看到子区间宽度、第一个和最后一个中点、第一个和最后一个被积函数值、被积函数值之和、端点之间的弦长、高精度参考长度,以及估计的绝对误差和相对误差。
  7. 查看图形。第一幅图显示原始曲线,选定的弧段高亮显示,并标出中点取样点。第二幅图显示弧长被积函数,并在其下方画出中点矩形。这些矩形的总面积就是近似值,因此两幅图不能混淆:矩形属于被积函数图形的下方,绝不在原始曲线下方。
  8. 阅读计算表。每个子区间占一行,列出区间边界、中点、中点处的导数、被积函数值和矩形贡献。最后一行是总和,与主要结果相等。
  9. 比较收敛情况,尝试理查森外推法。收敛面板并排显示 n、2n 和 4n 的近似值,以及它们之间的差值。理查森选项把两个近似值合并成一个更精确的估计值。下面指南章节会讲解这两项内容。
  10. 复制、导出或重置。用“复制结果”复制答案,把表格导出为 CSV 文件以保存计算过程,或用“重置”清空面板。预设按钮可以立即加载经过验证的示例:抛物线、直线、水平线、四分之一圆、三次曲线和正弦曲线。

试一个例子。y = x2 在 [0, 2] 上取 n = 4,得到 L4 = 4.6267234873 个单位,参考值为 4.6467837624 个单位。y = 3x + 1 在 [0, 4] 上取 n = 4,得到恰好 12.6491106407 个单位。y = 2 在 [1, 5] 上取 n = 4,得到恰好 4.0000000000 个单位。半径为 5 的参数四分之一圆得到 7.8539816340 个单位。y = x3 在 [0, 1] 上取 n = 4,得到 1.5330289642 个单位;y = sin(x) 在 [0, π] 上取 n = 8,得到 3.8201978627 个单位。

重要提示。一定要先对函数求导:被积函数使用 f'(x),而不是 f(x)。在中点处取样,不要在端点处取样,否则算的是另一种法则。三角函数请使用弧度制。计算过程中不要对中点或被积函数值四舍五入,因为这些小舍入会在许多矩形中累积起来。如果函数在某个中点处无定义,计算器会报告错误,而不会悄悄跳过这个取样点。

什么是中点法则?

数值积分是估计定积分的艺术,适用于难以求出精确原函数,或只能得到取样值的情况。中点法则是简单而可靠的数值积分方法之一。它用矩形覆盖曲线下方的区域,把矩形面积加起来,以此估计曲线下方的面积。

黎曼和把区间 [a, b] 分成 n 个等宽的子区间,每个子区间的宽度为 Δx = (b - a) / n,并在每个子区间上建一个矩形。每个矩形的高度是函数在该子区间内某一个取样点处的值。左端点和在左边缘取样,右端点和在右边缘取样,而中点法则在每个子区间的中心取样。

原始曲线 y 等于 x 平方在上方,弧长被积函数曲线在下方,被积函数下方画有中点矩形

在中心取样是关键。在一个很短的子区间上,曲线在中点一侧上升的部分,在另一侧会以相似的幅度下降,因此一侧的高估大致抵消另一侧的低估。这种抵消使中点法则在相同矩形个数下比左端点法则或右端点法则更精确,也使它的误差随子区间宽度的平方而减小。

对于 [a, b] 上的函数 g(x),复合中点法则是:

Mn = Δx × Σ g(xi*)

其中 xi* 是第 i 个子区间的中点,求和覆盖全部 n 个子区间。每一项 Δx × g(xi*) 是一个矩形的面积,所有矩形面积之和就是积分的近似值。

中点法则的用途远不止微积分作业。工程师用它估计应力分析和信号处理中的积分,物理学家在数值模拟中使用它,计算机图形学用它测量曲线长度和曲面面积。它简单而具有二阶精度,因此每当积分没有简洁的封闭形式时,它都是标准首选。

为什么中点优于端点。取 g(x) = x 在 [0, 1] 上,n = 1。左端点和给出 0,右端点和给出 1,而中点和给出 0.5,正是精确答案。中点反映的是函数在整个子区间上的平均表现,而端点只能看到函数的一侧。这种优势对任何光滑函数都成立,也是中点法则在多数数值计算中成为默认黎曼和的原因。

什么是弧长?

弧长是沿曲线测量的距离,而不是端点之间的直线距离。一条蜿蜒穿过山丘的公路,比地图上两端之间画的直线更长;一根弯曲的电线,比它跨越的间隙更长。弧长测量的就是这条弯曲的路径本身。

要求出这个长度,可以想象把曲线切成许多微小的小段。每一段都非常短,几乎是直的,因此它的长度接近连接其两端的直线。根据勾股定理,一段水平移动 Δx、垂直移动 Δy 的微小线段,其长度接近 √(Δx2 + Δy2)。把所有微小线段加起来,就得到总长度;让这些线段缩小到零,求和就变成积分。

对于曲线 y = f(x),水平方向的一小步 dx 会产生垂直变化 dy = f'(x) dx,因此微小长度元素是:

ds = √(dx2 + dy2) = √(1 + [f'(x)]2) dx

把从 a 到 b 的所有长度元素加起来,就得到弧长积分:

L = ∫ab √(1 + [f'(x)]2) dx

这个公式说明了导数为什么会出现。陡峭的曲线高度变化很快,f'(x) 很大,被积函数 √(1 + [f'(x)]2) 也很大,因此每单位水平距离贡献的曲线长度超过一个单位。平坦曲线的 f'(x) 接近零,被积函数接近 1,弧长接近水平距离 b - a。

弧长至少与弦长相等。端点之间的直线是两点之间的最短路径,因此曲线永远不会比它更短。对于抛物线 y = x2 在 [0, 2] 上,从 (0, 0) 到 (2, 4) 的弦长是 √(20) = 4.4721359550 个单位,而真实弧长是 4.6467837624 个单位,长了 0.1746478074 个单位。对于正弦曲线 y = sin(x) 在 [0, π] 上,弦长是 π = 3.1415926536 个单位,弧长是 3.8201977890 个单位,长了 0.6786051354 个单位。检查弧长大于弦长,是验证任何弧长答案的快速方法。

多数弧长积分没有初等原函数。抛物线积分 ∫ √(1 + 4x2) dx 可以用换元法求出,但正弦积分 ∫ √(1 + cos2x) dx 根本无法用初等函数表示。这正是中点法则发挥作用的地方:它用数值方法估计积分,不需要原函数。

中点法则弧长公式

中点法则弧长计算从精确的弧长积分出发,把积分换成矩形面积之和。定义弧长被积函数:

g(x) = √(1 + [f'(x)]2)

于是精确弧长为 L = ∫ab g(x) dx,中点法则近似求出这个积分。把 [a, b] 分成 n 个相等的子区间,子区间宽度为:

Δx = (b - a) / n

第 i 个子区间的中点(i 从 0 开始计数)为:

xi* = a + (i + ½)Δx

在每个中点处求被积函数的值,把每个值乘以 Δx,再把结果加起来:

Ln = Δx × Σ √(1 + [f'(xi*)]2)

每个符号都有精确的含义:

符号 含义 说明
L精确弧长真实的曲线距离,通常未知
Ln中点近似值计算器对 n 个子区间的主要结果
f(x)函数待测长度的曲线
f'(x)一阶导数曲线在 x 处的斜率
克(x)弧长被积函数g(x) = √(1 + [f'(x)]2)
a, b积分限区间的下端和上端
n子区间个数子区间越多,答案通常越接近
Δx子区间宽度Δx = (b - a) / n
xi*第 i 个子区间的中点xi* = a + (i + ½)Δx

一个具体验证。对于 y = x2 在 [0, 2] 上取 n = 4,宽度为 Δx = (2 - 0) / 4 = 0.5,中点为 0.25、0.75、1.25 和 1.75,被积函数值分别为 1.1180339887、1.8027756377、2.6925824036 和 3.6400549446。它们的和为 9.2534469747,乘以 0.5 得到 L4 = 4.6267234873 个单位。这一链条中的每个数字都显示在计算器的逐步求解面板和计算表中。

对于参数曲线 x = x(t)、y = y(t),同样的思路适用于参数区间 [t1, t2],速度 v(t) = √([x'(t)]2 + [y'(t)]2) 起到被积函数的作用。参数公式在下面专门的章节中讲解。

如何用中点法则计算弧长

中点法则计算遵循十个步骤,计算器会自动完成全部步骤。亲手算过一次之后,使用这个工具会更加得心应手。下面的例题使用 y = x2 在 [0, 2] 上取 n = 4,与计算器加载的第一个预设示例相同。

  1. 确定函数。f(x) = x2。
  2. 求一阶导数。f'(x) = 2x。
  3. 确定积分区间。a = 0,b = 2。
  4. 选择子区间个数。n = 4。
  5. 计算子区间宽度。Δx = (2 - 0) / 4 = 0.5。
  6. 确定每个子区间的中点。x0* = 0.25,x1* = 0.75,x2* = 1.25,x3* = 1.75。每个中点恰好位于其子区间边界的正中间:0.25 是 0 和 0.5 的中点,0.75 是 0.5 和 1 的中点,依此类推。
  7. 在每个中点处求弧长被积函数的值。g(x) = √(1 + 4x2),因此 g(0.25) = 1.1180339887,g(0.75) = 1.8027756377,g(1.25) = 2.6925824036,g(1.75) = 3.6400549446。
  8. 把每个值乘以子区间宽度。四个矩形的贡献分别为 0.5 × 1.1180339887 = 0.5590169944,0.5 × 1.8027756377 = 0.9013878189,0.5 × 2.6925824036 = 1.3462912018,0.5 × 3.6400549446 = 1.8200274723。
  9. 把所有贡献加起来。0.5590169944 + 0.9013878189 + 1.3462912018 + 1.8200274723 = 4.6267234873。
  10. 解释近似弧长。L4 = 4.6267234873 个单位。高精度参考值为 4.6467837624 个单位,因此这个近似值小了 0.0200602751 个单位,相对误差为 0.4317%。

同样的十个步骤适用于任何函数。对于 y = x3 在 [0, 1] 上取 n = 4,导数是 f'(x) = 3x2,宽度为 Δx = 0.25,中点为 0.125、0.375、0.625 和 0.875,被积函数值分别为 1.0010980300、1.0853471867、1.5405489332 和 2.5051217067,它们的和为 6.1321158566,乘以 0.25 得到 L4 = 1.5330289642 个单位,参考值为 1.5478656547 个单位。

第二个例题:三角函数。对于 y = sin(x) 在 [0, π] 上取 n = 8,导数是 f'(x) = cos(x),宽度为 Δx = π / 8 = 0.3926990817,八个中点分别为 π/16、3π/16、5π/16、7π/16、9π/16、11π/16、13π/16 和 15π/16。被积函数值依次为 1.4006926023、1.3005159423、1.1439660326、1.0188524102、1.0188524102、1.1439660326、1.3005159423 和 1.4006926023。它们的和为 9.7280539749,乘以 0.3926990817 得到 L8 = 3.8201978627 个单位,参考值为 3.8201977890 个单位,绝对误差仅为 0.0000000736 个单位。

理解中点矩形

每个中点矩形都是积分中一小段的真实写照。它由三部分组成,每一部分都有明确的含义。

弧长被积函数曲线,下方画有四个等宽的中点矩形,每个矩形的顶边取其中点处的值
矩形部分 公式 含义
宽度Δx = (b - a) / n一个子区间的水平跨度
高度g(xi*)子区间中点处的被积函数值
面积Δx × g(xi*)该子区间对总和的贡献

对于抛物线 y = x2 在 [0, 2] 上取 n = 4,四个矩形的宽度都是 0.5,高度分别为 1.1180339887、1.8027756377、2.6925824036 和 3.6400549446,面积分别为 0.5590169944、0.9013878189、1.3462912018 和 1.8200274723。总面积为 4.6267234873 个单位,正是中点近似值 L4。

为什么面积之和近似等于积分。积分 ∫ab g(x) dx 是被积函数曲线下方的精确面积。每个矩形用一个平顶条带代替一个子区间上方弯曲的条带,宽度相同,高度取中点值作为代表高度。在被积函数向上弯曲的地方,平顶在一侧切掉一点面积,在另一侧又补上一点。因为取样点在中心,这两部分误差几乎抵消,矩形面积接近真实的条带面积。把矩形加起来,就得到整个面积的估计值,也就是弧长的估计值。

最常见的图形错误。矩形必须画在被积函数曲线 g(x) = √(1 + [f'(x)]2) 的下方,而不是原始曲线 f(x) 的下方。原始曲线和被积函数是高度不同的两条曲线:对于 y = x2 在 [0, 2] 上,原始曲线从 0 变化到 4,而被积函数从 1 变化到 √(17) = 4.1231056256。画在原始曲线下方的矩形求和得到的是 f(x) 下方的面积,与弧长毫无关系。计算器把两条曲线分开显示,上面的图形也只在被积函数下方画矩形。

读懂一个矩形。在计算器中悬停或选中一个矩形,可以看到它的子区间编号、左右边界、中点、中点处的导数、被积函数值和矩形贡献。这些细节使表格对作业很有用:最终答案中的每个数字都能追溯到某一个矩形。

子区间个数为什么重要?

子区间个数 n 是计算器上最重要的控制项,因为它决定矩形的精细程度。n 小表示矩形少而宽,n 大表示矩形多而窄,能紧贴被积函数曲线。

被积函数曲线,下方分别画有 n 等于 2、n 等于 4 和 n 等于 8 的中点矩形,n 增大时矩形变窄

n 较小时会怎样。取 n = 1 时,整个区间只有一个矩形,答案是 Δx × g(中点)。对于抛物线 y = x2 在 [0, 2] 上,n = 1 得到 2 × √(5) = 4.4721359550 个单位,比真实值 4.6467837624 个单位小了 0.1746478074 个单位。单个矩形无法跟随被积函数从 1 上升到 4.1231056256,因此误差很大。n = 2 时,答案改进为 4.5764912225 个单位;n = 4 时为 4.6267234873 个单位;n = 8 时为 4.6417306581 个单位;n = 16 时为 4.6455205322 个单位;n = 32 时为 4.6464679593 个单位。

误差如何缩小。对于光滑的被积函数,中点法则的误差与 1 / n2 成正比。把 n 加倍,误差大约变为原来的四分之一。抛物线的数据清楚地表明了这一点:误差从 n = 4 时的 0.0200602751 个单位,降到 n = 8 时的 0.0050531044 个单位,再降到 n = 16 时的 0.0012632302 个单位,最后降到 n = 32 时的 0.0003158031 个单位。每次加倍,误差大约除以四。这种 1 / n2 的表现称为二阶收敛,也是中点法则非常有效的原因:n 适度增大,就能大幅提高精度。

为什么改进不总是单调的。误差通常随 n 增大而缩小,但对每个函数来说,并非每一步都必然缩小。正弦曲线就表现出轻微的这种情况:n = 2 得到 3.8476494905 个单位,超过了参考值 3.8201977890 个单位,而 n = 4 得到 3.8204517876 个单位,接近得多。近似值从真实值上方越过,落到略高于真实值的位置,但总体误差仍在缩小。对于有急弯、振荡或接近奇点的函数,误差可能随 n 变化而波动,尽管长期趋势是向下的。不要想当然地认为更大的 n 每一步都会给出更好的答案,而要查看收敛表。

增大 n 的代价。子区间越多,计算量越大:需要求更多的导数值、被积函数值,表格也更长。n = 5,000 时,计算器要进行 5,000 次求值,这对计算机来说很快,但表格太长,无法逐行阅读,因此计算器会对它分页。实用的做法是不断增大 n,直到答案在你需要的精度上不再变化。如果 n = 100 和 n = 200 的结果在六位小数上一致,n = 100 就足够了,n = 5,000 除了增加工作量外没有任何帮助。

实际中如何选择 n。学习时使用 n = 4 或 n = 8,因为表格足够短,可以手工核对。作业答案需要四到五位正确小数时,使用 n = 50 或 n = 100。只有在需要非常高的精度,或被积函数在区间内变化很快时,才使用 n = 1,000 或更大。收敛面板同时显示 n、2n 和 4n,你无需猜测就能看到答案如何稳定下来。

中点法则与梯形法则与辛普森法则的比较

中点法则是三种经典数值积分方法之一,每种方法对被积函数的取样方式都不同。了解它们的差别,有助于选择合适的工具,并理解它们的答案为什么不一致。

特点 中点法则 梯形法则 辛普森法则
取样位置每个子区间的中点每个子区间的两个端点端点加中点
拟合形状平顶矩形直边梯形通过三点的抛物线
误差阶数O(1 / n2)O(1 / n2)O(1 / n4)
典型误差符号与梯形法则相反与中点法则相反通常是三者中最小的
所需取样次数nn + 12n + 1
限制条件无无n 必须是偶数
精确适用的函数常数函数和线性函数常数函数和线性函数次数不超过 3 的多项式

中点法则。在每个子区间的中心取样,构建矩形。它的误差为 O(1 / n2),与梯形法则的误差阶数相同,但对于相同的 n,中点法则通常比梯形法则精确约两倍,因为中心取样抵消了主要的误差。它只需要 n 次求值,每个子区间一次,并且适用于任何正数 n。

梯形法则。在端点处取样,用直线连接端点,形成梯形。它与中点法则的误差阶数同为 O(1 / n2),但误差符号通常相反:对于凸的被积函数,梯形法则高估,中点法则低估,或反过来。把两者平均,就得到梯形与中点的组合,这是辛普森法则的基础。可以在同一函数上试用梯形法则计算器,比较这两种方法。

辛普森法则。让抛物线通过每对子区间的两个端点和中点,因此需要偶数个子区间。它的误差为 O(1 / n4),对于光滑函数,收敛速度比另外两种方法快得多。代价是 n 必须为偶数,而且每个子区间需要更多的求值。需要用较少的子区间获得高精度时,请试用辛普森法则计算器。

数字比较。对于抛物线 y = x2 在 [0, 2] 上取 n = 4,中点法则给出 4.6267234873 个单位,梯形法则给出 4.6870560064 个单位,辛普森法则给出 4.6502010785 个单位,参考值为 4.6467837624 个单位。中点误差为 0.0200602751 个单位,梯形误差为 0.0402722440 个单位,辛普森误差为 0.0034173160 个单位。辛普森法则在这里胜出,对光滑函数通常也是如此,但中点法则更简单,没有偶数 n 的限制,而且在只有中点取样值可用时,它是自然的选择。

应该使用哪种法则?想要简单可靠的估计、在均匀间隔的内点处对函数取样,或讲解黎曼和时,使用中点法则。端点值是自然数据时,例如在每个区间两端进行测量,使用梯形法则。函数光滑且需要用较小的 n 获得高精度时,使用辛普森法则。对于弧长,中点法则还有一个实际优势:它从不在端点处求被积函数的值,而函数在端点处可能无定义或存在奇点,因此它能处理另外两种法则无法起步的曲线。

理解中点法则的误差

每个中点近似值与真实弧长之间都存在一定的差距,理解这个误差,才能把一个数字变成值得信赖的答案。谈论误差有三种不同的方式,不能把它们混淆。

误差曲线随子区间个数增加而下降,中点近似值逐渐接近参考值

绝对误差。绝对误差是近似值与真实值之间差距的大小:|L - Ln|。对于抛物线取 n = 4,绝对误差为 |4.6467837624 - 4.6267234873| = 0.0200602751 个单位。对于正弦曲线取 n = 8,绝对误差为 |3.8201977890 - 3.8201978627| = 0.0000000736 个单位。绝对误差的单位与长度本身相同。

相对误差。相对误差是绝对误差除以真实值的大小,通常用百分数表示:|L - Ln| / |L| × 100。对于抛物线取 n = 4,相对误差为 0.4317%。对于三次曲线取 n = 4,相对误差为 0.9585%。对于正弦曲线取 n = 8,相对误差为 0.00000193%。相对误差是比较不同大小问题精度的公平方式:0.02 个单位的误差对于 100 个单位的长度微不足道,对于 0.1 个单位的长度却非常重要。

基于细化的误差指示。在实际工作中,真实值是未知的,因此无法直接计算绝对误差。这时可以比较两个近似值:差值 |M2n - Mn| 表明分区细化后答案移动了多少。对于抛物线,|M8 - M4| = |4.6417306581 - 4.6267234873| = 0.0150071707 个单位。这个差值是一个实用的警示信号:如果它很大,说明答案仍在移动,应该增大 n。它只是一个指示,不是保证的界:真实误差可能比细化差值更大,也可能更小;对于中点法则,真实误差通常约为细化差值的三分之一,因为误差在每次加倍时缩小为原来的四分之一。

理论误差界。对于足够光滑的被积函数 g(x),复合中点法则的误差满足:

|E| ≤ ((b - a)3 / (24n2)) × max|g''(x)|

这个界需要被积函数二阶导数在区间上的最大值,而这个最大值往往难以精确求出。对于抛物线的被积函数 g(x) = √(1 + 4x2),二阶导数为 g''(x) = 4 / (1 + 4x2)3/2,它在 [0, 2] 上的最大值是 4,出现在 x = 0 处。因此 n = 4 时的界为 (8 / (24 × 16)) × 4 = 0.0833333333 个单位,而实际误差 0.0200602751 个单位安全地落在界内。n = 8 时,界为 0.0208333333 个单位。这个界是诚实的,但比较宽松:在这里它把真实误差高估了约四倍,这是典型情况。

界不适用的情况。误差界假定被积函数光滑,二阶导数有界。带有尖角、跳跃或奇点的函数会破坏这一假定,误差界要么不存在,要么大得没有用。计算器在无法确认界时不会编造一个界,而是显示细化差值并说明它的局限,这才是诚实的答案。

为什么光滑性很重要。1 / n2 的误差表现依赖于被积函数足够光滑,使中点抵消能够起作用。像 √(1 + 4x2) 这样光滑的被积函数收敛得很干净。带有尖角的被积函数收敛得更慢,带有奇点的被积函数收敛得非常慢,甚至可能不收敛。如果把 n 加倍后答案几乎不变,说明函数可能很光滑且已经足够精确;如果把 n 加倍后答案变化很大,说明函数比较粗糙,或 n 仍然太小。

什么是理查森外推法?

理查森外推法是一个简单的技巧,它把两个中点近似值变成一个好得多的估计值。它利用中点法则误差的已知规律,抵消主要的误差项。

对于光滑的被积函数,n 个子区间的中点近似值误差表现得像 C / n2,其中 C 是取决于函数但不取决于 n 的常数。把子区间加倍到 2n,误差就除以四。由此得到两个方程,两个未知数,即真实值 L 和常数 C:

Mn = L + C / n2    M2n = L + C / (4n2)

求解 L 可以消去 C,得到理查森外推估计值:

LR = (4M2n - Mn) / 3

例题。对于抛物线 y = x2 在 [0, 2] 上,M4 = 4.6267234873 个单位,M8 = 4.6417306581 个单位。理查森估计值为 LR = (4 × 4.6417306581 - 4.6267234873) / 3 = 4.6467330483 个单位。真实值为 4.6467837624 个单位,因此外推误差仅为 0.0000507141 个单位,远小于原来的 M4 误差 0.0200602751 个单位。外推法仅用 n = 4 和 n = 8 的计算,就达到了大得多的 n 才能达到的精度。

正弦曲线的例题。对于 y = sin(x) 在 [0, π] 上,M8 = 3.8201978627 个单位,M16 = 3.8201977890 个单位。理查森估计值为 LR = (4 × 3.8201977890 - 3.8201978627) / 3 = 3.8201977645 个单位,参考值为 3.8201977890 个单位,误差仅为 0.0000000245 个单位。

三次曲线的例题。对于 y = x3 在 [0, 1] 上,M4 = 1.5330289642 个单位,M8 = 1.5441590533 个单位。理查森估计值为 LR = (4 × 1.5441590533 - 1.5330289642) / 3 = 1.5478690830 个单位,参考值为 1.5478656547 个单位,误差为 0.0000034283 个单位。原来的 M4 误差为 0.0148366905 个单位,因此外推法把误差缩小了约 4327.7 倍。

理查森外推法不是什么。外推值是一个改进的估计值,不是中点法则的结果,也不是保证精确的答案。它假定误差确实表现得像 C / n2,这对光滑被积函数成立,对粗糙函数则不成立。如果被积函数有尖角或奇点,外推结果可能比原来的近似值更差,因此计算器总是先显示原来的中点结果,并把外推值单独标注。理查森外推法也是龙贝格积分背后的思路,龙贝格积分在多个层次上重复同样的技巧,以达到非常高的精度。

用中点法则求参数曲线弧长

有些曲线无法写成 y = f(x)。例如,一个圆对多数 x 值给出两个 y 值,因此没有单个函数能描述它。参数曲线通过把两个坐标都写成参数 t 的函数来解决这个问题:x = x(t),y = y(t)。当 t 从 t1 变化到 t2 时,点 (x(t), y(t)) 描出这条曲线。

对于参数曲线,微小长度元素来自两个坐标上的移动:ds = √(dx2 + dy2)。把 dx = x'(t) dt 和 dy = y'(t) dt 代入,得到参数弧长积分:

L = ∫t1t2 √([x'(t)]2 + [y'(t)]2) dt

根号下的量是速度 v(t) = √([x'(t)]2 + [y'(t)]2),即点沿曲线移动时 t 变化的速率。中点法则对参数区间的应用与对 x 区间完全相同:把 [t1, t2] 分成 n 个相等的段,宽度为 Δt = (t2 - t1) / n,在中点参数 ti* = t1 + (i + ½)Δt 处对速度取样,再把贡献加起来:

Ln = Δt × Σ √([x'(ti*)]2 + [y'(ti*)]2)
半径为 5 的四分之一圆,由 x 等于 5 cos t、y 等于 5 sin t 描出,标出四个相等的参数段

例题:四分之一圆。取 x(t) = 5 cos(t),y(t) = 5 sin(t),在 [0, π/2] 上,n = 4。导数为 x'(t) = -5 sin(t),y'(t) = 5 cos(t)。速度为 v(t) = √(25 sin2(t) + 25 cos2(t)) = √(25) = 5,是一个常数,因为 sin2(t) + cos2(t) = 1。参数宽度为 Δt = (π/2 - 0) / 4 = π/8 = 0.3926990817,中点参数为 π/16、3π/16、5π/16 和 7π/16。每个速度值都是 5,因此每个贡献都是 0.3926990817 × 5 = 1.9634954085,总和为 4 × 1.9634954085 = 7.8539816340 个单位,正好等于 5π/2。只要速度是常数,中点法则对任何 n 都是精确的。

参数形式为什么重要。许多真实曲线天然就是参数形式:圆、椭圆、螺旋线、设计软件中的贝塞尔曲线,以及物理学和机器人学中运动物体的路径。显式形式 y = f(x) 无法描述折回自身的曲线,但参数形式可以。计算器用相同的中点引擎、相同的表格和相同的收敛分析处理这两种形式。关于参数曲线的更多内容,请参阅参数弧长计算器。

关于参数的提醒。除非速度为 1,否则参数 t 与弧长并不相同。只有速度恒定时,t 的等步长才对应沿曲线的等距离。对于一般的参数曲线,中点法则仍然正确,因为它积分的是速度,但矩形在 t 上是等宽的,在沿曲线的距离上却不是等宽的。这没有关系:公式通过 v(t) 把这一点考虑在内。

中点法则在哪些场合有用?

中点法则在任何需要数值估计积分的地方都有用,弧长只是它的工作之一。它简单,具有二阶精度,而且能容忍端点问题,因此在许多领域都是一件得力工具。

数值微积分与教学。中点法则往往是学生接触的第一种数值积分方法,因为矩形容易画,中点的想法容易理解。它把黎曼和、收敛性和误差分析集中在一个内容里讲授。这个计算器的表格和图形正是为此而设计的:答案中的每个数字都能追溯到某一个矩形。

工程。工程师根据数学模型估计弯曲零件、电缆、管道和道路弯道的长度。当曲线是多项式或三角函数时,弧长积分往往没有封闭形式,因此数值方法是唯一的选择。中点法则给出快速的答案和明确的误差估计,增大 n 就能把精度提高到设计所需的程度。

物理。物理学家沿路径积分,计算功、行进距离和场量。粒子沿弯曲路径运动时走过的距离,等于其轨迹的弧长,中点法则根据速度数据估计这个距离。同样的方法还用于热力学、光学和量子力学中的积分,只要解析原函数难以求出。

计算机图形学与 CAD。屏幕上的曲线由许多短直线段画出,曲线的总长度通过把这些线段加起来估计,这就是一种数值积分。字体轮廓、动画路径和 CAD 刀具路径都依赖精确的曲线长度测量。中点法则提供了一种有根据的方法来测量这些长度,而不是凭图片猜测。

曲线测量与机器人。机器人手臂沿圆弧移动夹持器、数控机床切割弯曲边缘,或测量员测量弯曲边界时,都需要知道一条曲线的长度,而这条曲线只能通过方程或取样点得知。中点法则把这些取样值变成长度,并给出误差估计,说明答案在多大程度上值得信赖。

科学建模与计算几何。生物学、金融学和气候科学中的模型需要对仅在离散点上已知的函数求积分。当数据是在区间中心取样的样本时,中点法则是自然的选择,这在传感器读数和模拟输出中很常见。在计算几何中,它测量弯曲图形的周长和样条曲线的长度。

什么时候不该用它。当被积函数在区间内有奇点、函数不连续,或需要用很少的求值获得非常高的精度时,中点法则不是好的选择:辛普森法则或自适应方法会做得更好。当积分本身不是问题时,例如已知封闭形式的弧长,也不该用它。半径为 5 的圆,其四分之一圆弧恰好为 5π/2 = 7.8539816340 个单位,任何数值方法都无法比这更好。

使用中点法则时常见的错误

多数错误的中点答案都源于一份很短的错误清单。逐项检查只需几秒钟,却能避免多数错误。

  1. 用端点代替中点。在每个子区间的左边缘或右边缘取样,算的是左黎曼和或右黎曼和,而不是中点法则。对于抛物线 y = x2 在 [0, 2] 上取 n = 4,左端点和为 3.75 个单位,右端点和为 5.75 个单位,而中点法则给出 4.6267234873 个单位。只有中点值才是中点法则的答案。
  2. 忘记对函数求导。被积函数是 g(x) = √(1 + [f'(x)]2),而不是 √(1 + [f(x)]2)。对于 y = x2,用 f(x) 代替 f'(x),得到的是 ∫ √(1 + x4),一个完全不同的数。一定要先求导。
  3. 用了错误的弧长被积函数。被积函数必须是 √(1 + [f'(x)]2)。去掉 1、忘记平方,或对错误的量开平方,都会得到错误答案。对于斜率为 3 的直线,被积函数是常数 √(10) = 3.1622776602,不是 3,也不是 √(1 + 3)。
  4. 区间划分错误。宽度为 Δx = (b - a) / n,分子是完整的区间长度。除以 n + 1,或用 b / n 代替 (b - a) / n,会使每个中点都移位,答案也就错了。对于 [0, 2] 取 n = 4,宽度是 0.5,不是 0.4,也不是 0.6666666667。
  5. 中点个数错误。中点恰好有 n 个,每个子区间一个,不是 n + 1 个。端点不是中点。数出 n + 1 个取样点,说明某个子区间被数了两次,或误把端点当作取样点。
  6. 把原始曲线与被积函数图形混淆。中点矩形位于被积函数 g(x) 的下方,而不是原始曲线 f(x) 的下方。把矩形画在 f(x) 下方再把面积加起来,得到的是 f(x) 下方的面积,不是弧长。这两条曲线是不同的曲线,必须分开显示。
  7. 对中间值四舍五入。在求和之前对中点、导数值或被积函数值四舍五入,会引入小误差,并在许多矩形中累积。整个计算过程保持完整精度,只对最终显示的结果四舍五入。计算器会自动这样做。
  8. 以为每个近似值都是精确值。中点法则给出的是近似值,而不是真实值,直线和等速参数曲线等特殊情况除外。对于抛物线,L4 = 4.6267234873 个单位接近真实值 4.6467837624 个单位,但并不等于它。报告结果时一定要说明它是近似值,并同时给出误差估计。
  9. 把估计误差与保证的误差界混淆。细化差值 |M2n - Mn| 表明答案仍在移动多少,不是保证真实误差小于这个差值。理论界 ((b - a)3 / (24n2)) × max|g''(x)| 是一种保证,但只有在二阶导数最大值已知且被积函数光滑时才成立。
  10. 忽略函数的定义域限制。像 √(x) 这样的函数在负 x 处无定义,ln(x) 在 x ≤ 0 时无定义。如果某个中点落在定义域之外,被积函数值就不存在,近似值也就没有意义。遇到这种情况,计算器会报告错误,而不会编造一个值。
  11. 参数导数用错。对于参数曲线,需要 x'(t) 和 y'(t) 两个导数,速度为 √([x'(t)]2 + [y'(t)]2)。只用其中一个,或对错误的变量求导,都会得到错误的速度和错误的长度。对于四分之一圆,x'(t) = -5 sin(t),y'(t) = 5 cos(t),两个导数都是得到恒定速度 5 所必需的。
  12. 把非光滑或奇异函数当作标准误差假定自动成立。1 / n2 的误差表现和理论界都假定被积函数光滑。区间内有尖角、跳跃或奇点的函数收敛得慢得多,理查森外推法也可能失效。查看收敛表:如果把 n 加倍后变化没有大约缩小为四分之一,说明标准假定对这个函数不成立。

能发现多数错误的最后一项检查。用弦长和参考值验证结果。近似值必须至少与弦长相等,必须随 n 增大而接近参考值,表格各行之和必须等于主要结果,对于直线或等速曲线必须等于精确值。如果其中任何一项检查失败,原因就是上面十二个错误之一。

例题详解

这六个例子涵盖计算器的主要模式和函数类型。每个例子都由驱动该工具的同一中点引擎计算,每个结果都已对照高精度自适应辛普森参考值独立验证。

例 1:抛物线,y = x2 在 [0, 2] 上,n = 4。导数为 f'(x) = 2x,宽度为 Δx = 0.5,中点为 0.25、0.75、1.25 和 1.75。被积函数值分别为 1.1180339887、1.8027756377、2.6925824036 和 3.6400549446,它们的和为 9.2534469747,L4 = 0.5 × 9.2534469747 = 4.6267234873 个单位。参考值为 4.6467837624 个单位,因此绝对误差为 0.0200602751 个单位,相对误差为 0.4317%。加倍到 n = 8 得到 4.6417306581 个单位,由两者得到的理查森估计值为 4.6467330483 个单位。

例 2:直线,y = 3x + 1 在 [0, 4] 上,n = 4。导数为 f'(x) = 3,因此被积函数是常数 g(x) = √(10) = 3.1622776602。宽度为 Δx = 1,中点为 0.5、1.5、2.5 和 3.5,每个被积函数值都是 3.1622776602。和为 4 × 3.1622776602 = 12.6491106407,L4 = 1 × 12.6491106407 = 12.6491106407 个单位,正好等于 4√(10)。中点法则在这里对任何 n 都是精确的,因为被积函数是常数,每个矩形的高度都正确。

例 3:水平线,y = 2 在 [1, 5] 上,n = 4。导数为 f'(x) = 0,因此被积函数是常数 g(x) = √(1 + 0) = 1。宽度为 Δx = 1,中点为 1.5、2.5、3.5 和 4.5,每个贡献都是 1 × 1 = 1。总和为 L4 = 4.0000000000 个单位,正好等于水平距离 5 - 1 = 4。水平线没有垂直变化,因此它的弧长就是区间长度。

例 4:参数四分之一圆,x(t) = 5 cos(t),y(t) = 5 sin(t),在 [0, π/2] 上,n = 4。导数为 x'(t) = -5 sin(t),y'(t) = 5 cos(t),速度是常数 v(t) = 5。参数宽度为 Δt = π/8 = 0.3926990817,中点参数为 π/16、3π/16、5π/16 和 7π/16,每个贡献都是 0.3926990817 × 5 = 1.9634954085。总和为 L4 = 7.8539816340 个单位,正好等于 5π/2。整圆将是 10π = 31.4159265359 个单位,半圆将是 5π = 15.7079632679 个单位。

例 5:三次曲线,y = x3 在 [0, 1] 上,n = 4。导数为 f'(x) = 3x2,宽度为 Δx = 0.25,中点为 0.125、0.375、0.625 和 0.875。被积函数值分别为 1.0010980300、1.0853471867、1.5405489332 和 2.5051217067,它们的和为 6.1321158566,L4 = 0.25 × 6.1321158566 = 1.5330289642 个单位。参考值为 1.5478656547 个单位,因此绝对误差为 0.0148366905 个单位,相对误差为 0.9585%。加倍到 n = 8 得到 1.5441590533 个单位,理查森估计值为 1.5478690830 个单位。

例 6:三角函数,y = sin(x) 在 [0, π] 上,n = 8。导数为 f'(x) = cos(x),宽度为 Δx = π/8 = 0.3926990817,八个中点分别为 π/16、3π/16、5π/16、7π/16、9π/16、11π/16、13π/16 和 15π/16。被积函数值依次为 1.4006926023、1.3005159423、1.1439660326、1.0188524102、1.0188524102、1.1439660326、1.3005159423 和 1.4006926023。它们的和为 9.7280539749,L8 = 0.3926990817 × 9.7280539749 = 3.8201978627 个单位。参考值为 3.8201977890 个单位,因此绝对误差仅为 0.0000000736 个单位,相对误差为 0.00000193%。这个积分没有初等原函数,因此中点法则和参考值是得到答案的实际方法。

点击计算器中的任意预设按钮,加载其中一个例子,查看该输入的完整逐步求解过程、实时图形、计算表和收敛比较。

实际应用

用中点法则求弧长出现在任何需要根据公式而不是卷尺测量弯曲距离的地方。同样的计算服务于学生、工程师和设计师。

道路、轨道和电缆。弯曲的道路、跑道弯道,或悬挂在两个支架之间的电缆,其长度都沿着一条曲线。当曲线由函数建模时,中点法则根据模型估计其长度,误差估计说明答案在多大程度上值得信赖。由 y = x2 在 [0, 2] 上建模的电缆需要 4.6467837624 个单位的电缆,而不是直线间隙的 4.4721359550 个单位。

制造与钣金。弯曲的面板、弯管或卷边都由已知长度的平板材料制成。中点法则把弯曲设计换算成要切割的平板长度,收敛表按车间需要的精度确认长度。半径为 5 的四分之一圆弯曲沿曲线需要 7.8539816340 个单位的材料。

建筑。拱门、穹顶和弯曲楼梯都按弧线标注尺寸。半径为 5 的半圆形拱门沿曲线需要 5π = 15.7079632679 个单位的装饰条。对于由抛物线或正弦曲线建模的非圆形拱门,中点法则直接根据设计方程给出装饰条长度。

物理与运动。粒子沿弯曲路径行进的距离,就是其轨迹的弧长。摆锤、抛射体或沿椭圆轨道运行的卫星都沿曲线运动,其长度对能量、时间和燃料计算都很重要。中点法则根据运动方程估计这些距离。

计算机图形学、动画与游戏。沿弯曲路径运动的物体、镜头移动和动画角色都沿着样条曲线和参数曲线。沿路径的距离决定速度、时间和帧间距。中点法则根据曲线方程测量这些路径长度,参数模式还能处理折回自身的曲线。

医学与生物学。血管、脊柱和器官的弯曲表面都根据扫描和模型进行测量。沿血管中心线的弧长有助于规划支架和导管,中点法则把建模的中心线变成带有误差估计的长度。

本站的相关计算器。要求出命名曲线的精确弧长,请试用抛物线弧长计算器、椭圆弧长计算器、半圆弧长计算器、圆弧长计算器和扇形弧长计算器。要进行逐步精确积分,请试用带步骤的弧长计算器、参数弧长计算器、极坐标弧长计算器和三维弧长计算器。要试用其他数值方法,请试用梯形法则计算器和辛普森法则计算器。

中点法则弧长参考表

这些表格把两个主要例题的收敛表现集中在一处,让你看到中点法则收敛得有多快,以及理查森外推法如何改进答案。所有数值均由中点引擎计算,参考值来自自适应辛普森积分。

抛物线 y = x2 在 [0, 2] 上,参考值 4.6467837624 个单位。

子区间数 n 中点近似值 绝对误差 与上一项的差值
14.47213595500.1746478074初始值
24.57649122250.07029253990.1043552675
44.62672348730.02006027510.0502322648
84.64173065810.00505310440.0150071707
164.64552053220.00126323020.0037898741
324.64646795930.00031580310.0009474272
Richardson (4, 8)4.64673304830.0000507141改进估计值

正弦曲线 y = sin(x) 在 [0, π] 上,参考值 3.8201977890 个单位。

子区间数 n 中点近似值 绝对误差 与上一项的差值
13.14159265360.6786051354初始值
23.84764949050.02745170150.7060568369
43.82045178760.0002539986-0.0271977029
83.82019786270.0000000736-0.0002539249
163.82019778900.0000000000-0.0000000736
Richardson (8, 16)3.82019776450.0000000245改进估计值

如何阅读这些表格。抛物线的误差在每次加倍时大约缩小为原来的四分之一,从 n = 4 时的 0.0200602751,降到 n = 8 时的 0.0050531044,再降到 n = 16 时的 0.0012632302,这正是预期的 1 / n2 表现。正弦曲线收敛得更快,因为它的被积函数在区间中部附近几乎是平的:到 n = 8 时误差已经只有 0.0000000736 个单位,到 n = 16 时近似值与参考值在全部十位显示小数上一致。理查森行一步说明了同样的道理:把两个近似值合并起来,比单独任何一个都好,抛物线的误差为 0.0000507141 个单位,正弦曲线的误差为 0.0000000245 个单位。把这些表格作为基准:如果自己对其中一个例题的计算与表格不符,在相信答案之前,先检查导数、中点和被积函数。

中点法则弧长常见问题

微积分中的中点法则是什么? +

中点法则是一种数值积分方法,它把区间分成 n 个等宽的子区间,在每个子区间的中心对函数取样,以此估计定积分。每个取样值成为一个宽度为 &Delta;x = (b - a) / n 的矩形的高度,矩形面积之和就是近似值:M<sub>n</sub> = &Delta;x &times; &Sigma; g(x<sub>i</sub>*)。它是一种黎曼和,在相同矩形个数下比左端点法则或右端点法则更精确,因为中心取样抵消了每个子区间上的主要误差。

中点法则如何计算弧长? +

它把弧长积分变成矩形面积之和。先求导数 f'(x),构成被积函数 g(x) = &radic;(1 + [f'(x)]<sup>2</sup>)。然后把 [a, b] 分成 n 个宽度为 &Delta;x 的子区间,在每个中点处求 g(x) 的值,把每个值乘以 &Delta;x,再把结果加起来。对于 y = x<sup>2</sup> 在 [0, 2] 上取 n = 4,中点为 0.25、0.75、1.25 和 1.75,被积函数值分别为 1.1180339887、1.8027756377、2.6925824036 和 3.6400549446,总和为 L<sub>4</sub> = 4.6267234873 个单位。

中点法则的公式是什么? +

对于弧长,公式为 L<sub>n</sub> = &Delta;x &times; &Sigma; &radic;(1 + [f'(x<sub>i</sub>*)]<sup>2</sup>),其中 &Delta;x = (b - a) / n 是子区间宽度,x<sub>i</sub>* = a + (i + &frac12;)&Delta;x 是第 i 个子区间的中点,f'(x) 是函数的导数,求和覆盖全部 n 个子区间。对于参数曲线,公式为 L<sub>n</sub> = &Delta;t &times; &Sigma; &radic;([x'(t<sub>i</sub>*)]<sup>2</sup> + [y'(t<sub>i</sub>*)]<sup>2</sup>),速度代替了显式被积函数。

如何计算子区间宽度? +

用区间长度除以子区间个数:&Delta;x = (b - a) / n。对于 [0, 2] 取 n = 4,&Delta;x = (2 - 0) / 4 = 0.5。对于 [0, 1] 取 n = 4,&Delta;x = (1 - 0) / 4 = 0.25。对于 [0, π] 取 n = 8,&Delta;x = π / 8 = 0.3926990817。每个子区间的宽度都相同,这正是该法则简单的原因:一个宽度乘以每个被积函数值。

如何求每个区间的中点? +

在子区间的左边界上加半个子区间宽度:x<sub>i</sub>* = a + (i + &frac12;)&Delta;x,i 从 0 开始计数。对于 [0, 2] 取 n = 4 且 &Delta;x = 0.5,中点为 0 + 0.5 &times; 0.5 = 0.25,0 + 1.5 &times; 0.5 = 0.75,0 + 2.5 &times; 0.5 = 1.25,0 + 3.5 &times; 0.5 = 1.75。每个中点恰好位于其子区间边界的正中间。对于 [0, 1] 取 n = 4,中点为 0.125、0.375、0.625 和 0.875。

弧长计算中为什么要用导数? +

因为曲线的长度取决于它爬升的陡峭程度,而不仅仅取决于起点和终点。曲线的一小段水平移动 dx,垂直移动 dy = f'(x) dx,因此它的长度为 &radic;(dx<sup>2</sup> + dy<sup>2</sup>) = &radic;(1 + [f'(x)]<sup>2</sup>) dx。没有导数,就无法知道斜率增加了多少长度。对于 y = x<sup>2</sup>,斜率在 [0, 2] 上从 0 增长到 4,因此被积函数从 1 增长到 &radic;(17) = 4.1231056256,弧长 4.6467837624 个单位比水平距离 2 长得多。

增加子区间个数能提高精度吗? +

对于光滑函数,通常可以。中点法则的误差与 1 / n<sup>2</sup> 成正比,因此把 n 加倍,误差大约变为原来的四分之一。对于抛物线 y = x<sup>2</sup> 在 [0, 2] 上,误差从 n = 4 时的 0.0200602751 个单位,降到 n = 8 时的 0.0050531044 个单位,再降到 n = 16 时的 0.0012632302 个单位。这种改进并不保证对每个函数都是单调的,对于有尖角或奇点的函数,改进可能很慢,因此一定要查看收敛表,而不是想当然地认为更大的 n 更好。

中点法则与梯形法则有什么区别? +

中点法则在每个子区间的中心对被积函数取样并构建矩形,而梯形法则在两个端点处取样并构建梯形。两者的误差都是 O(1 / n<sup>2</sup>),但对于相同的 n,中点法则通常精确约两倍,而且误差符号通常相反。对于抛物线 y = x<sup>2</sup> 在 [0, 2] 上取 n = 4,中点法则给出 4.6267234873 个单位,梯形法则给出 4.6870560064 个单位,参考值为 4.6467837624 个单位。中点法则只需要 n 次求值,而不是 n + 1 次,而且从不在端点处求值,这在函数于端点处无定义时很有帮助。

中点法则与辛普森法则有什么区别? +

辛普森法则让抛物线通过每对子区间的端点和中点,而中点法则只使用中点值并构建平顶矩形。辛普森法则的误差为 O(1 / n<sup>4</sup>),因此对于光滑函数收敛得快得多,但它需要偶数个子区间和更多的求值。对于抛物线 y = x<sup>2</sup> 在 [0, 2] 上取 n = 4,中点法则给出 4.6267234873 个单位,误差为 0.0200602751 个单位,而辛普森法则给出 4.6502010785 个单位,误差仅为 0.0034173160 个单位。需要简单方法或讲解黎曼和时使用中点法则,需要用较少的子区间获得高精度时使用辛普森法则。

如何计算中点法则的误差? +

有高精度参考值时,绝对误差为 |L<sub>reference</sub> - M<sub>n</sub>|,相对误差为该值除以 |L<sub>reference</sub>| 再乘以 100。对于抛物线取 n = 4,绝对误差为 0.0200602751 个单位,相对误差为 0.4317%。没有参考值时,使用细化差值 |M<sub>2n</sub> - M<sub>n</sub>| 作为实际指示:对于抛物线,|M<sub>8</sub> - M<sub>4</sub>| = 0.0150071707 个单位。理论界 ((b - a)<sup>3</sup> / (24n<sup>2</sup>)) &times; max|g''(x)| 只有在二阶导数最大值已知且被积函数光滑时才是保证。

什么是理查森外推法? +

理查森外推法把两个中点近似值合并成一个改进的估计值,抵消主要的 O(1 / n<sup>2</sup>) 误差项。公式为 L<sub>R</sub> = (4M<sub>2n</sub> - M<sub>n</sub>) / 3。对于抛物线 y = x<sup>2</sup> 在 [0, 2] 上,M<sub>4</sub> = 4.6267234873 个单位,M<sub>8</sub> = 4.6417306581 个单位,得到 L<sub>R</sub> = 4.6467330483 个单位,对照参考值 4.6467837624 个单位,误差仅为 0.0000507141 个单位。外推值是一个改进的估计值,不是中点结果,也不是保证精确的答案,而且它假定被积函数光滑。

中点法则能求参数曲线的长度吗? +

可以。对于 [t<sub>1</sub>, t<sub>2</sub>] 上的曲线 x = x(t)、y = y(t),把参数区间分成 n 个宽度为 &Delta;t 的段,在中点参数处对速度 v(t) = &radic;([x'(t)]<sup>2</sup> + [y'(t)]<sup>2</sup>) 取样,再把贡献加起来:L<sub>n</sub> = &Delta;t &times; &Sigma; v(t<sub>i</sub>*)。对于四分之一圆 x(t) = 5 cos(t)、y(t) = 5 sin(t),在 [0, π/2] 上取 n = 4,速度是常数 5,因此 L<sub>4</sub> = 5π/2 = 7.8539816340 个单位,对任何 n 都是精确的。

中点法则能给出精确答案吗? +

可以,但只在特殊情况下。当被积函数是常数时,每个矩形的高度都正确,求和就是精确的。直线属于这种情况,因为 f'(x) 是常数;等速参数曲线(如圆)也是如此。对于 y = 3x + 1 在 [0, 4] 上,中点法则对任何 n 都恰好给出 4&radic;(10) = 12.6491106407 个单位。对于 y = 2 在 [1, 5] 上,它恰好给出 4.0000000000 个单位。对于 y = x<sup>2</sup> 这样的一般曲线,中点法则给出一个近似值,它随 n 增大而接近真实值,但对有限的 n 永远不会恰好等于真实值。

子区间个数为 1 时会怎样? +

n = 1 时,整个区间只有一个矩形:宽度为 &Delta;x = b - a,高度为区间中点处的被积函数值。对于抛物线 y = x<sup>2</sup> 在 [0, 2] 上,n = 1 得到 2 &times; &radic;(5) = 4.4721359550 个单位,真实值为 4.6467837624 个单位。对于正弦曲线 y = sin(x) 在 [0, π] 上,n = 1 得到 π &times; 1 = 3.1415926536 个单位,因为中点是 π/2,在此处 cos(x) = 0,被积函数为 1。单个矩形是一个粗略的估计,可用作初步猜测,但绝不能作为最终答案。

为什么中点法则是一种近似方法? +

因为它用平顶矩形代替被积函数下方真实的弯曲面积。在每个子区间上,矩形的高度是被积函数在一点(即中点)处的值,而真实的被积函数在整个子区间上是变化的。平顶在一侧切掉一点面积,在另一侧又补上一点,两部分误差几乎抵消,但并不完全抵消。只有被积函数是常数时,矩形才能与曲线完全吻合。随着 n 增大、矩形变窄,这种不吻合会缩小,总和接近真实积分,但对任何有限的 n,仍会残留一个小误差。

弧长与曲线下方面积有什么区别? +

弧长测量沿曲线的距离,而曲线下方面积测量曲线与 x 轴之间的区域。这是两个不同的积分:弧长是 &int; &radic;(1 + [f'(x)]<sup>2</sup>) dx,面积是 &int; f(x) dx。对于 y = x<sup>2</sup> 在 [0, 2] 上,弧长为 4.6467837624 个单位,而曲线下方的面积为 8 / 3 = 2.6666666667 平方单位。弧长的中点矩形画在被积函数 &radic;(1 + 4x<sup>2</sup>) 的下方,而不是原始曲线的下方,它们的总面积是弧长近似值,而不是 f(x) 下方的面积。

中点法则对直线如何起作用? +

对于直线,导数是常数,因此被积函数也是常数,每个中点矩形的高度都恰好正确,法则就是精确的。对于 y = 3x + 1 在 [0, 4] 上,f'(x) = 3,被积函数处处为 &radic;(10) = 3.1622776602,中点法则对任何 n(即使 n = 1)都给出 4 &times; 3.1622776602 = 12.6491106407 个单位。水平线也是如此:y = 2 在 [1, 5] 上恰好给出 4.0000000000 个单位。直线是近似值就是答案的唯一情形。

什么时候应该使用更大的子区间个数? +

当答案在你需要的精度上仍在变化、当被积函数在区间内变化很快,或当函数有急弯时,使用更大的 n。一个实用的做法是不断把 n 加倍,直到答案在你关心的小数位上不再变化:如果 n = 100 和 n = 200 的结果在六位小数上一致,n = 100 就足够了。对于抛物线,n = 4 的误差为 0.0200602751 个单位,而 n = 32 的误差仅为 0.0003158031 个单位。做作业时,n = 4 或 n = 8 使表格足够短,可以手工核对;而 n = 50 或 n = 100 对多数光滑函数能给出四到五位正确小数。