首页 / 资讯中心 / 文章详情

e^{ax^2+bx+c}积分公式怎么证?从配方、高斯积分到误差函数

e^{ax^2+bx+c}积分公式怎么证?从配方、高斯积分到误差函数 ★ FEATURED ARTICLE
如果你在概率统计课上见过正态分布的密度函数或者在做量子力学、热传导、机器学习里的高斯过程时碰过形如 (e^{-x^2}) 的积分那一定对这类“指数里套二次函数”的积分不陌生。标题里写的是 (e^{ax^2bxc}) 这种最一般的形式二次项、一次项、常数项全都有。很多人背过结论但不知道它到底怎么来的也有人试着用换元硬算结果卡在 (\int e^{-x^2}dx) 上因为这条路根本走不通。这篇文章想做的事很单纯把“形如 (e^{ax^2bxc}) 的积分公式”从零证一遍包括不定积分形式和整个实数轴上的定积分形式。过程中会用到完全平方配方、变量替换还有一个极其经典的高斯积分基准公式。适合正在学高等数学、概率论或者刚刚接触误差函数erf的读者哪怕你只是想搞明白为什么正态分布的归一化系数是 (\frac{1}{\sqrt{2\pi}\sigma})这篇文章也能给你一个完整答案。我先把目标公式放在这里设 (a0)则[ \int_{-\infty}^{\infty} e^{ax^2bxc},dx \sqrt{\frac{\pi}{-a}},e^{,c-\frac{b^2}{4a}}. ]而有限区间 ([u,v]) 上的定积分以及不定积分都会通过误差函数 (\operatorname{erf}) 表达。下面一步步来。1. 先看目标积分公式到底在证什么1.1 指数里藏着一个二次函数这个被积函数 (e^{ax^2bxc})本质上是 (e) 的某个二次多项式次方。为什么要单独研究它因为二次函数是所有多项式里“配平方”之后最规整的一种而指数函数有一个脾气指数相加等于幂相乘。换句话说[ e^{ax^2bxc}e^{ax^2bx}\cdot e^c, ](e^c) 是常数可以先拎出来。这给了我们一个直觉真正麻烦的只是 (e^{ax^2bx}) 里的 (ax^2bx)而 (bx) 又可以通过配方“吸收”进平方项里。配方的目标是把二次函数[ ax^2bxc ]改写成[ a\left(x\frac{b}{2a}\right)^2\left(c-\frac{b^2}{4a}\right) ]的形式。这个操作在中学就学过但放到指数积分里它的意义被放大了因为指数上如果有 ((x\text{常数})^2)我们就能通过平移变量 (ux\frac{b}{2a}) 把积分转成“标准高斯积分”。也就是说配方法不是可有可无的技巧而是整个证明的第一级台阶。1.2 两种积分版本不定积分与定积分在开始证明前必须把“要证的东西”分成两个版本因为它们的最终形态不一样。第一种是全实数轴上的定积分[ \int_{-\infty}^{\infty} e^{ax^2bxc},dx, ]当 (a0) 时收敛结果是一个干净、没有误差函数参与的式子。这个结果在概率论里最常用因为正态分布密度函数的归一化系数就是靠它算出来的。第二种是任意区间 ([u,v]) 上的定积分以及不定积分[ \int e^{ax^2bxc},dx. ]这类积分没有初等原函数数学家专门定义了一个函数叫误差函数[ \operatorname{erf}(z)\frac{2}{\sqrt{\pi}}\int_0^z e^{-t^2},dt. ]于是公式可以写成[ \int e^{ax^2bxc},dxe^{,c-\frac{b^2}{4a}}\cdot \frac{1}{2}\sqrt{\frac{\pi}{-a}}, \operatorname{erf}!\left(\sqrt{-a}\left(x\frac{b}{2a}\right)\right)C, ]其中 (a0)。很多教材直接把这个式子丢出来却不解释为什么要乘 (\frac{1}{2}\sqrt{\frac{\pi}{-a}})以及 (\operatorname{erf}) 的参数为什么是 (\sqrt{-a}(x\frac{b}{2a}))。下面我用完整的推导回答这些问题。2. 证明的第一步配方与变量替换2.1 从二次函数到完全平方我们先把指数上的二次函数单独拿出来算。设[ Q(x)ax^2bxc. ]配方过程如下提出 (a)注意不是提出正的直接提 (a)允许它是负数[ Q(x)a\left(x^2\frac{b}{a}x\right)c. ]括号内补一次项系数一半的平方即 (\left(\frac{b}{2a}\right)^2)同时在外面减去同样的一项[ Q(x)a\left(x^2\frac{b}{a}x\frac{b^2}{4a^2}\right)c-a\cdot\frac{b^2}{4a^2}. ]里面是完全平方[ x^2\frac{b}{a}x\frac{b^2}{4a^2}\left(x\frac{b}{2a}\right)^2. ]外面化简[ c-a\cdot\frac{b^2}{4a^2}c-\frac{b^2}{4a}. ]所以[ ax^2bxca\left(x\frac{b}{2a}\right)^2\left(c-\frac{b^2}{4a}\right). ]这个式子每一步都可以验证。特别提醒不要丢 (\frac{b^2}{4a}) 前面的负号因为 (a) 是负数时(\frac{b^2}{4a}) 也是负数那么 (c-\frac{b^2}{4a}) 实际上是 (c) 加一个正数。这个常数项最终会变成积分结果外面的指数因子符号错了整个结果的量级都会跑偏。2.2 平移变量不改变面积配方完成后原积分变为[ \int e^{a(x\frac{b}{2a})^2(c-\frac{b^2}{4a})},dxe^{c-\frac{b^2}{4a}}\int e^{a(x\frac{b}{2a})^2},dx. ]这时候做变量替换[ ux\frac{b}{2a}. ]因为 (x) 是一次的所以[ dudx. ]这是最简单也最容易忽略的一步。有人会担心平移之后积分区间要不要变如果原来是定积分 (\int_{\alpha}^{\beta})变量替换后区间确实变成 (\int_{\alpha\frac{b}{2a}}^{\beta\frac{b}{2a}})但如果原来是整个实数轴 ((-\infty,\infty))那么加一个有限平移后仍然是整个实数轴[ \lim_{x\to-\infty}u-\infty,\qquad \lim_{x\to\infty}u\infty. ]这就像把一张无限长的照片整体往左挪了一格照片的内容没变总面积也没变。所以[ \int_{-\infty}^{\infty} e^{a(x\frac{b}{2a})^2},dx\int_{-\infty}^{\infty} e^{a u^2},du. ]于是问题被简化成了[ \int_{-\infty}^{\infty} e^{a x^2bxc},dxe^{c-\frac{b^2}{4a}}\int_{-\infty}^{\infty} e^{a u^2},du. ]到这里(b) 已经彻底消失了剩下的核心是一个更“素”的积分[ \int_{-\infty}^{\infty} e^{a u^2},du. ]只要搞定它原公式就水落石出。3. 真正难啃的骨头高斯积分基准公式3.1 先证明 (I\int e^{-x^2}dx\sqrt{\pi})现在面对 (J(a)\int_{-\infty}^{\infty} e^{a x^2}dx)。显然当 (a0) 时我们可以令 (a-\lambda)(\lambda0)于是[ J(a)\int_{-\infty}^{\infty} e^{-\lambda x^2}dx. ]最核心的基准是 (\lambda1) 的情况[ I\int_{-\infty}^{\infty} e^{-x^2}dx\sqrt{\pi}. ]这个结论不能靠“找原函数”得到因为 (e^{-x^2}) 不存在初等原函数。经典证明用的是“平方后化极坐标”的技巧。具体来说把 (I) 写成自身相乘[ I^2\left(\int_{-\infty}^{\infty} e^{-x^2}dx\right)\left(\int_{-\infty}^{\infty} e^{-y^2}dy\right). ]因为积分变量叫什么无所谓第二个积分里我用 (y)于是可以合并成二重积分[ I^2\int_{-\infty}^{\infty}\int_{-\infty}^{\infty} e^{-(x^2y^2)},dx,dy. ]这个二重积分是在整个平面上对 (e^{-(x^2y^2)}) 做积分。(x^2y^2) 这个东西在平面上很自然地让人想到极坐标。做变换[ xr\cos\theta,\qquad yr\sin\theta. ]雅可比行列式的绝对值是 (r)所以面积元 (dx,dy) 变成 (r,dr,d\theta)。注意这里不是直接变成 (dr,d\theta)多出来的因子 (r) 是整个证明的关键很多人第一次看的时候都困惑这个 (r) 是哪来的。想象你在平面上用小扇片去覆盖面积离原点越远同样 (d\theta) 对应的弧长越大所以需要乘上半径 (r)。于是[ I^2\int_0^{2\pi}\int_0^{\infty} e^{-r^2}r,dr,d\theta. ]先算内层。令 (sr^2)则 (ds2r,dr)也就是 (r,dr\frac12ds)所以[ \int_0^{\infty} e^{-r^2}r,dr\frac12\int_0^{\infty}e^{-s},ds\frac12. ]外层 (\theta) 从 (0) 到 (2\pi) 积一圈相当于乘以 (2\pi)[ I^22\pi\cdot\frac12\pi. ]因为 (I0)开方得[ I\sqrt{\pi}. ]就这样(\int_{-\infty}^{\infty}e^{-x^2}dx\sqrt{\pi}) 证毕。这个证明漂亮的地方在于它绕开了“找不到原函数”的障碍转而用二重积分把问题变成一维的简单积分。3.2 从标准形推广到 (e^{-λx²})有了 (\lambda1) 的基准任意 (\lambda0) 的情况只需做一个缩放替换[ t\sqrt{\lambda},x,\qquad dt\sqrt{\lambda},dx. ]于是[ \int_{-\infty}^{\infty} e^{-\lambda x^2},dx\frac{1}{\sqrt{\lambda}}\int_{-\infty}^{\infty} e^{-t^2},dt\sqrt{\frac{\pi}{\lambda}}. ]这里有个细节(x) 的范围是 ((-\infty,\infty))乘以正数 (\sqrt{\lambda}) 后范围不变所以不需要改区间。如果 (\lambda) 是负数这个替换就不合法因为没法开平方。这也是为什么原题里必须要求 (a0)。回到我们的 (a)当 (a0) 时令 (\lambda-a0)就有[ \int_{-\infty}^{\infty} e^{a x^2},dx\int_{-\infty}^{\infty} e^{-\lambda x^2},dx\sqrt{\frac{\pi}{\lambda}}\sqrt{\frac{\pi}{-a}}. ]这就是刚才提到的简化形式。3.3 为什么 (a) 必须小于 0这一步有必要单独拿出来说因为很多人背了公式却不知道适用范围。对照 (J(a)\int_{-\infty}^{\infty}e^{a x^2}dx)当 (a0) 时指数是一个“开口向下”的二次函数两边趋于负无穷被积函数迅速压到 0积分收敛。当 (a0) 时两边趋于正无穷被积函数爆炸式增长积分发散到正无穷。当 (a0) 时被积函数退化为 (e^{bxc})如果 (b0) 则是常数在无穷区间上发散如果 (b\ne0)只在半轴方向收敛也不是全实数轴收敛。所以标题里的公式默认 (a0)这不是人为限制而是数学上收敛性的必然要求。在实际问题里凡是你看到正态分布核 (e^{-\frac{(x-\mu)^2}{2\sigma^2}})它的二次项系数必然是负的正是因为这个原因。4. 汇总证明完整推导公式4.1 全实数轴定积分干净利落的结论现在把前面几节串起来。原积分[ \int_{-\infty}^{\infty} e^{ax^2bxc},dx. ]第一步配方[ ax^2bxca\left(x\frac{b}{2a}\right)^2c-\frac{b^2}{4a}. ]于是[ \int_{-\infty}^{\infty} e^{ax^2bxc},dxe^{c-\frac{b^2}{4a}}\int_{-\infty}^{\infty} e^{a(x\frac{b}{2a})^2},dx. ]第二步平移变量 (ux\frac{b}{2a})区间不变[ e^{c-\frac{b^2}{4a}}\int_{-\infty}^{\infty} e^{a u^2},du. ]第三步利用高斯积分基准公式(a0)[ \int_{-\infty}^{\infty} e^{a u^2},du\sqrt{\frac{\pi}{-a}}. ]所以[ \int_{-\infty}^{\infty} e^{ax^2bxc},dx\sqrt{\frac{\pi}{-a}}; e^{,c-\frac{b^2}{4a}}. ]这个公式真的可以背因为它太常用了。比如正态分布密度函数[ f(x)\frac{1}{\sqrt{2\pi}\sigma}\exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right). ]把它展开成 (ax^2bxc) 形式[ a-\frac{1}{2\sigma^2},\quad b\frac{\mu}{\sigma^2},\quad c-\frac{\mu^2}{2\sigma^2}. ]代入上面的公式[ \int_{-\infty}^{\infty}f(x),dx\frac{1}{\sqrt{2\pi}\sigma} \sqrt{\frac{\pi}{1/(2\sigma^2)}} \exp\left(-\frac{\mu^2}{2\sigma^2}-\frac{(\mu/\sigma^2)^2}{4(-1/(2\sigma^2))}\right). ]算一下根号部分等于 (\sqrt{2\pi}\sigma)指数部分括号里 (-0.5\mu^2/\sigma^20.5\mu^2/\sigma^20)所以结果为 1。这就是概率密度归一化条件的由来。4.2 任意区间与误差函数 erf如果积分区间不是整个实数轴比如[ \int_{\alpha}^{\beta} e^{ax^2bxc},dx, ]我们没法只靠 (\sqrt{\pi/-a}) 这个常数搞定因为该积分值取决于区间位置。这时误差函数就该上场了。先回顾定义[ \operatorname{erf}(z)\frac{2}{\sqrt{\pi}}\int_0^z e^{-t^2},dt. ]它满足两个边界值[ \operatorname{erf}(0)0,\qquad \lim_{z\to\infty}\operatorname{erf}(z)1. ]又因为被积函数 (e^{-t^2}) 是偶函数所以 (\operatorname{erf}(z)) 是奇函数[ \operatorname{erf}(-z)-\operatorname{erf}(z). ]现在回到配方后的积分。设 (ux\frac{b}{2a})并令 (\lambda-a0)。则[ \int_{\alpha}^{\beta} e^{ax^2bxc},dxe^{c-\frac{b^2}{4a}}\int_{\alpha\frac{b}{2a}}^{\beta\frac{b}{2a}} e^{-\lambda u^2},du. ]内层积分可以用误差函数表达。令 (t\sqrt{\lambda},u)则 (du\frac{dt}{\sqrt{\lambda}})[ \int e^{-\lambda u^2},du\frac{1}{\sqrt{\lambda}}\int e^{-t^2},dt\frac{1}{\sqrt{\lambda}}\cdot\frac{\sqrt{\pi}}{2}\operatorname{erf}(t)C. ]代回 (t\sqrt{\lambda}\left(x\frac{b}{2a}\right))并注意 (\lambda-a)[ \int e^{ax^2bxc},dxe^{c-\frac{b^2}{4a}}\cdot \frac{1}{2}\sqrt{\frac{\pi}{-a}}, \operatorname{erf}!\left(\sqrt{-a}\left(x\frac{b}{2a}\right)\right)C. ]这就是开头给出的不定积分公式。把它在 (\alpha) 和 (\beta) 处取值相减就得到任意区间的定积分。4.3 用求导验证公式防止符号错数学里最让人安心的验证方法是对结果求导看能不能回到被积函数。我们来操作一遍。设[ F(x)\frac{1}{2}\sqrt{\frac{\pi}{-a}}, \operatorname{erf}!\left(\sqrt{-a}\left(x\frac{b}{2a}\right)\right), ]先忽略外面的常数因子 (e^{c-b^2/(4a)})。对 (F) 求导。链式法则[ \frac{d}{dx}\operatorname{erf}!\left(\sqrt{-a}\left(x\frac{b}{2a}\right)\right)\frac{2}{\sqrt{\pi}}\exp\left(-\left[\sqrt{-a}\left(x\frac{b}{2a}\right)\right]^2\right)\cdot \sqrt{-a}. ]因为[ -\left[\sqrt{-a}\left(x\frac{b}{2a}\right)\right]^2a\left(x\frac{b}{2a}\right)^2. ]所以[ F(x)\frac{1}{2}\sqrt{\frac{\pi}{-a}}\cdot \frac{2}{\sqrt{\pi}}\cdot\sqrt{-a}\cdot e^{a(x\frac{b}{2a})^2}e^{a(x\frac{b}{2a})^2}. ]最后乘上没有参与求导的常数 (e^{c-b^2/(4a)})正好得到[ e^{a(x\frac{b}{2a})^2c-\frac{b^2}{4a}}e^{ax^2bxc}. ]验证成功。这个求导过程也帮我们看清了每一项的用途(\frac{1}{2}\sqrt{\frac{\pi}{-a}}) 是用来抵消 (\operatorname{erf}) 定义里的 (\frac{2}{\sqrt{\pi}}) 和链式法则中的 (\sqrt{-a}) 的不多不少刚刚好。5. 实操中的常见扰动与避坑5.1 别把常数项 (c) 不当干粮很多人配方之后只盯着 (a(xb/2a)^2)忘了外面还有 (c-b^2/(4a))。在 (\int_{-\infty}^{\infty}) 版本里(c) 直接出现在指数上变成整体倍数。举个具体例子[ \int_{-\infty}^{\infty} e^{-x^21},dxe^1\int_{-\infty}^{\infty}e^{-x^2},dxe\sqrt{\pi}\approx 4.81. ]而如果丢掉 (c)算出来只有 (\sqrt{\pi}\approx1.77)差了 2.7 倍。在处理任何包含 (e^{c}) 的积分时我习惯先把常数因子写在外面再用公式算高斯部分这样不容易丢。5.2 符号翻车现场(\sqrt{-a}) 不是 (\sqrt{a})因为 (a0)公式里必然出现 (\sqrt{-a})。我见过很多初学者把 (a-2) 代入时误写成 (\sqrt{2})这一步看起来只差一个负号但放到指数参数里可能差之千里。比如定积分区间是有限区间时误差函数的自变量是 (\sqrt{-a}(x\frac{b}{2a}))如果忘了负号括号里的平移方向也会反积分结果完全不对。还有一个隐蔽的错误把 (\sqrt{\pi/(-a)}) 写成 (\sqrt{-\pi/a})。这两个其实数值上碰巧一样因为 (-a-(a))但心理上容易导致后面配平方符号混乱。我建议统一写成[ \sqrt{\frac{\pi}{-a}}, ]一眼看出分母是正数更安全。5.3 概率统计里的标准套路在实际应用中最常见的二次指数积分是正态分布均值 (\mu) 和方差 (\sigma^2) 决定的[ \exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right). ]如果你不想每次都配方一遍可以直接记住一个“从分布核到积分值”的口诀先把 (e^{-\frac{(x-\mu)^2}{2\sigma^2}}) 的完整平方形式写出来它的全实数轴积分是 (\sqrt{2\pi\sigma^2})后面若还有别的常数因子再乘上去。例如算[ \int_{-\infty}^{\infty} \exp\left(-x^23x-2\right),dx, ]对照公式(a-1,b3,c-2)。于是[ -\frac{b^2}{4a}-\frac{9}{4(-1)}\frac{9}{4}, ]所以指数部分 (c-\frac{b^2}{4a}-2\frac{9}{4}\frac{1}{4})。积分结果为[ \sqrt{\frac{\pi}{1}};e^{1/4}\sqrt{\pi},e^{1/4}\approx 2.275. ]如果手边有计算器可以先用数值积分近似验证差得不会太远。5.4 误差函数的数值近似与渐近行为如果你需要计算有限区间概率比如 (P\int_{\alpha}^{\beta} e^{-x^2/2}dx)最终还是要算 (\operatorname{erf})。大多数科学计算库都有现成的 erf 函数比如 Python 里math.erf。但了解它的渐近行为很有用当 (z\to\infty) 时误差函数有一个著名近似[ 1-\operatorname{erf}(z)\approx \frac{e^{-z^2}}{z\sqrt{\pi}}. ]这意味着当 (z) 大于 3 时(\operatorname{erf}(z)) 已经非常接近 1在一般工程精度下可以直接取 1。反过来如果 (z) 是负的用 (\operatorname{erf}(-z)-\operatorname{erf}(z)) 转换别直接拿负自变量去查表容易造成溢出或精度损失。结尾一点个人心得我把这类积分证过很多遍自己做题和给别人讲时最大的体会是不要死记公式要记住配方、平移、高斯积分这条生产线。遇到任何“指数上带二次函数”的积分第一步永远是看二次项系数 (a) 的正负判断收敛性第二步配方平移第三步决定是用全实数轴版本还是误差函数版本。只要这三步走顺(b,c) 再复杂也不会乱。最后再分享一个小技巧如果你经常做统计或机器学习推导不妨把公式里的 (\sqrt{\pi/(-a)}) 理解成“高斯分布的归一化骨架”把 (e^{c-b^2/(4a)}) 理解成“平移和常数带来的补偿”。这样即使忘了完整公式随时都能从 (e^{-x^2}) 的基准积分快速推出来。希望这篇证明对你真的有帮助。
阅读完成 · 觉得有帮助?
咨询建站