Post

斯特林公式的简单理解

精度不太高的阶乘近似

斯特林公式的简单理解

斯特林公式用于 n 阶乘近似,本文采用积分放缩的思想,得出了 $\ln n!$ 的一种近似,虽然和真正的斯特林公式在精度上有差距,但是对于 n 很大的情况有较小的误差,可以应用于一些代数式的化简。

积分放缩

令 $f(x)=\ln x$,考察 $f(x)$ 的图像: Desktop View

设 $C(n-1, 0), D(n, 0), n\in Z^+$;   $AD,BC\perp x轴$.
则 $CD=1$,  $f(n)\times1$ 表示 $矩形ADCE$ 的面积,
      $\int_{n-1}^{n} {f(x)} \,{\rm d}x$    表示曲线段 $AB$ 与 $x轴$ 围成的面积。
又因为 $f(x)$ 在 $[1, +\infty)$ 上单调递增,可以得到:

\[f(n)> \int_{n-1}^{n} {f(x)} \,{\rm d}x\]

于是有:

\[f(n-1)> \int_{n-2}^{n-1} {f(x)} \,{\rm d}x\] \[f(n-2)> \int_{n-3}^{n-2} {f(x)} \,{\rm d}x\] \[\vdots\] \[f(2)> \int_{1}^{2} {f(x)} \,{\rm d}x\] \[f(1)=0\]

左右两边分别累加,得到:

\[\begin{equation} \sum_{k=1}^{n} f(k)> \int_1^n f(x) \,{\rm d}x \label{eq:base1} \end{equation}\]

$\ln n!$ 的近似

将 $\ln n!$ 展开:

\[\ln n! = \ln 1 + \ln 2 + \ln 3 + \cdots + \ln n = \sum_1^n \ln x\]

根据不等式 \eqref{eq:base1},可以得到:

\[\ln n! > \int_1^n \ln x \, {\rm d}x = n\ln n -n+1\]

当 n 很大的时候,可以近似认为不等式两边相等,此时 1 对于表达式的影响可以忽略不记,即:

\[\begin{equation} \ln n! \approx n\ln n -n \label{eq:base2} \end{equation}\]

图像对比

在对数坐标下绘制出 $\ln x!$ 和 $x\ln x -x$ 的函数图像: Desktop View

可以看到,随着 $x$ 的增大,两条函数图像几乎重合,即可认为它们近似相等。

附:斯特林公式

斯特林公式:

\[\begin{equation} n!\approx \sqrt{2\pi n}\;(\frac{n}{e})^n \label{eq:base3} \end{equation}\]

两边取对数,得:

\[\begin{equation} \ln n! \approx n\ln n -n+\frac12\ln n+\frac12\ln \,(2\pi) \end{equation}\]
This post is licensed under CC BY 4.0 by the author.