跳到主要内容

梯形公式

一、直观理解:用梯形面积近似曲边梯形​

梯形公式(trapezoidal rule)把积分区间分成小段,每段用连接端点的直线代替曲线,从而用梯形面积近似曲边梯形面积。它是最基础的牛顿—科特斯求积公式之一,也是分段线性插值后的精确积分。

对函数表数据(只知道节点上的 ff 值)特别自然:不需要在节点外求值。

二、适用场景与优缺点​

类型说明
适用场景光滑或分段光滑函数;等距节点数据;需要简单稳健的基线积分;周期函数的全周期积分(此时精度特别高)。
核心优点实现极简;对周期被积函数有超收敛现象;易做成复合公式。
局限与缺点对同样节点,精度通常低于 Simpson/Gauss;端点奇异时收敛慢;高效计算光滑积分时不是最优。

三、核心原理​

单区间 [a,b][a,b]:

∫abf(x) dx≈b−a2(f(a)+f(b))\int_a^b f(x)\,\mathrm{d}x\approx\frac{b-a}{2}\big(f(a)+f(b)\big)

复合梯形(nn 段,步长 h=(b−a)/nh=(b-a)/n):

∫abf≈h2(f(x0)+2∑i=1n−1f(xi)+f(xn))\int_a^b f\approx\frac{h}{2}\big(f(x_0)+2\sum_{i=1}^{n-1}f(x_i)+f(x_n)\big)

若 f∈C2f\in C^2,误差为

E=−(b−a)12h2f′′(ξ)E=-\frac{(b-a)}{12}h^2 f''(\xi)

即关于 hh 的二阶方法。

四、实践要点​

  • 先画 ff 看是否振荡/奇异;
  • 用加倍节点估计误差(Richardson);
  • 周期函数优先考虑复合梯形;
  • MATLAB trapz 用于离散数据,integral 用于自适应。

五、MATLAB 示例​

%% 复合梯形积分 \int_0^1 e^{x} dx = e-1
f = @(x) exp(x);
a = 0; b = 1;
trueVal = exp(1) - 1;

ns = 2.^(2:8);
errs = zeros(size(ns));
for k = 1:numel(ns)
n = ns(k);
x = linspace(a, b, n+1);
y = f(x);
approx = trapz(x, y);
errs(k) = abs(approx - trueVal);
end

figure;
loglog(ns, errs, "-o"); hold on;
loglog(ns, errs(1)*(ns(1)./ns).^2, "--");
xlabel("分段数 n"); ylabel("绝对误差");
legend("梯形误差", "O(1/n^2) 参考");
title("复合梯形公式的二阶收敛"); grid on;

fprintf("n=%d 时近似=%.12f, 误差=%.3e\n", ns(end), trapz(linspace(a,b,ns(end)+1), f(linspace(a,b,ns(end)+1))), errs(end));

周期函数上的优异表现:

f = @(x) exp(cos(x));
a = 0; b = 2*pi;
% 真值可用 besseli(0,1)*2*pi
trueVal = 2*pi * besseli(0,1);
x = linspace(a, b, 33); % 32 段
approx = trapz(x, f(x));
% 注意 trapz 对周期函数在端点重复计权,这里端点值相同
fprintf("周期函数梯形近似误差 = %.3e\n", abs(approx - trueVal));

六、如何解释结果​

报告区间、节点数/步长、近似值、误差估计或与真值/更高精度对照。说明方法阶数,避免把粗网格结果当成精确积分。

七、常见误区​

1. 节点很少却期望高精度​

二阶收敛需要足够密的网格。

2. 在奇点上直接套公式​

如 ∫01x−1/2dx\int_0^1 x^{-1/2}dx 需变步长或变元。

3. 把 trapz 的间距搞错​

不等距时要用 trapz(x,y) 而不是假设 h=1。

附:建模流程中的落地清单(梯形公式)​

在竞赛或课程论文中,仅写出定义式往往不够。建议按下列顺序组织材料,既能保证可复现,也便于评委快速抓住贡献。

1. 问题对齐​

先用两三句话说明:题目中的哪个子问题对应本方法,输入是什么,输出要支持什么决策。避免“因为常见所以使用”。若存在更简单的替代方法,应说明为何不够用。

2. 符号与单位​

列出核心符号表,强调单位一致。许多错误并非算法失败,而是日/年、米/千米、概率/百分比混用。对无量纲参数,说明取值来源(估计、文献、情景设定)。

3. 关键公式回顾​

复合梯形误差 O(h2)O(h^2)。对周期被积函数,复合梯形常表现超收敛,值得单独测试。

4. 计算与实现要点​

  • 固定随机种子(若涉及随机);
  • 记录中间量以便手算核对小例子;
  • 用极限情形或解析特例做冒烟测试;
  • 保存主要输入输出到表格,便于敏感性分析复用。

5. 补充 MATLAB 片段​

f=@(x)1./(1+x.^2); a=0;b=1; true=pi/4; n=64; x=linspace(a,b,n+1); fprintf('err=%.3e\n',abs(trapz(x,f(x))-true));

6. 结果报告模板​

建议至少报告:区间、分段数、近似值、误差估计或真值对照、方法阶数。

7. 何时不该使用​

在奇点附近等距硬套;或把粗网格结果写成“精确积分”。

完成以上清单后,再进入“小结”中的一句话金句,通常论文的方法段与验证段就会扎实许多。

八、小结​

梯形公式用分段线性近似完成数值积分,简单可靠,误差 O(h2)O(h^2)。它是理解复合求积与收敛阶的起点,对周期被积函数往往出人意料地好;对高光滑度函数,可进一步使用 Simpson 或 Gauss 求积提高效率。