You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对三次插值函数积分以求解区间平均值

三次插值函数区间平均值的积分解法

核心思路

平均值的计算公式为:

平均值 = (1/(x_max - x_min)) * ∫[x_min, x_max] f(y₀,y₁,y₂,y₃,x) dx

由于你的f(x)是三次多项式,直接通过代数积分求解是最优方案,完全不需要采样,计算复杂度为O(1),比数值采样高效得多。

步骤1:将插值函数展开为标准多项式形式

先把你的三次插值函数展开成f(x) = a₀ + a₁x + a₂x² + a₃x³的形式:
原函数:

f(x) = y₁ + x/2*(y₂-y₀ + x*(2y₀-5y₁+4y₂-y₃ + x*(3(y₁-y₂)+y₃-y₀)))

逐层展开后得到各项系数:

  • 常数项 a₀ = y₁
  • 一次项系数 a₁ = (y₂ - y₀)/2
  • 二次项系数 a₂ = (2y₀ - 5y₁ + 4y₂ - y₃)/2
  • 三次项系数 a₃ = (3y₁ - 3y₂ + y₃ - y₀)/2

步骤2:多项式积分计算

对标准多项式逐项积分,积分公式为∫xⁿdx = xⁿ⁺¹/(n+1) + C,代入上下限x_min和x_max:

∫[x_min, x_max] f(x)dx = a₀(x_max - x_min) + (a₁/2)(x_max² - x_min²) + (a₂/3)(x_max³ - x_min³) + (a₃/4)(x_max⁴ - x_min⁴)

步骤3:计算平均值

将积分结果除以区间长度x_max - x_min,得到平均值:

平均值 = a₀ + (a₁/2)(x_max + x_min) + (a₂/3)(x_max² + x_maxx_min + x_min²) + (a₃/4)(x_max³ + x_max²x_min + x_maxx_min² + x_min³)

针对常见区间[0,1]的简化公式

如果你的区间是x_min=0,x_max=1,代入后可以直接得到简化后的平均值表达式(合并同类项后):

平均值 = (5y₀ + 18y₁ + 18y₂ + 5y₃)/48

这个公式可以直接代入y₀,y₁,y₂,y₃计算,完全不需要任何积分或采样操作。

验证说明

你可以用少量采样值对比验证这个公式的正确性:比如取y₀=0,y₁=1,y₂=2,y₃=3,代入公式得平均值为(0+18+36+15)/48=69/48=23/16=1.4375。通过积分计算原函数在[0,1]的积分值就是23/16,和公式结果一致,远快于采样法。

内容的提问来源于stack exchange,提问作者Ronald McFüglethorn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 06:32:20