← 返回《人工智能数学基础》
📑 查看全课大纲(第 7 / 93 节)
  1. 1.概论和集合的定义
  2. 2.逼疯康托的实数集理论
  3. 3.常用不等式与映射
  4. 4.函数及特殊函数
  5. 5.序列极限的定义
  6. 6.序列极限的性质与夹逼定理
  7. 7.重要极限
  8. 8.无穷小量,无穷大量和一组重要的阶的比较关系
  9. 9.聚点原理
  10. 10.函数极限及其性质
  11. 11.重要极限与等价无穷小
  12. 12.连续函数
  13. 13.导数的概念(那些年,扛起牛顿的胡克)
  14. 14.定义法求导
  15. 15.函数四则运算的导数与反函数求导法则
  16. 16.复合函数,隐函数,参数式求导
  17. 17.不定式求导之“洛必达与伯努利的师生情”
  18. 18.一阶微分
  19. 19.高阶导数
  20. 20.高阶微分
  21. 21.罗尔中值定理与拉格朗日中值定理
  22. 22.柯西空降科学院遭排挤
  23. 23.泰勒公式与泰勒的克妻属性
  24. 24.利用泰勒展开唯一性定理计算泰勒展开
  25. 25.泰勒公式的余项估计
  26. 26.极值问题与导数
  27. 27.函数凹凸性
  28. 28.无卵用的渐近线与函数作图
  29. 29.不定积分的定义
  30. 30.第一换元法
  31. 31.第二换元法
  32. 32.分部积分法
  33. 33.有理式积分
  34. 34.三角替换
  35. 35.定积分的概念
  36. 36.定积分的性质与积分中值定理
  37. 37.变上限定积分
  38. 38.微积分基本定理之“高斯教你如何优雅地装逼”
  39. 39.定积分的换元法
  40. 40.奇偶函数与周期函数的定积分
  41. 41.曲线求长与不可求长曲线(海岸线居然算不出长度?)
  42. 42.旋转体体积
  43. 43.旋转体侧面积
  44. 44.极坐标下图形的面积(数学系常用表白曲线)
  45. 45.欧式空间
  46. 46.点列极限,开集与闭集
  47. 47.多元函数的定义
  48. 48.多元函数的极限
  49. 49.多元连续函数
  50. 50.一阶偏导数
  51. 51.高阶偏导数
  52. 52.全微分
  53. 53.方向导数与梯度
  54. 54.链式法则
  55. 55.一阶全微分形式的不变性与高阶微分
  56. 56.多元函数的泰勒公式
  57. 57.隐函数存在定理与逆映射存在定理
  58. 58.多元函数的极值
  59. 59.矩阵基础知识
  60. 60.行列式的定义与特殊矩阵的行列式
  61. 61.行列式的性质
  62. 62.行列式按k行展开
  63. 63.线性方程组初步与高斯消元法
  64. 64.齐次线性方程组与Cramer法则
  65. 65.线性空间
  66. 66.线性相关与线性无关
  67. 67.向量组的秩
  68. 68.矩阵的秩与线性方程组有解的充要条件
  69. 69.齐次线性方程组的解集结构
  70. 70.非齐次线性方程组解集结构
  71. 71.基与维数
  72. 72.矩阵的乘法
  73. 73.特殊矩阵
  74. 74.矩阵乘积的秩与行列式
  75. 75.矩阵的逆
  76. 76.正交矩阵
  77. 77.矩阵对角化与特征值特征向量
  78. 78.实对称矩阵对角化
  79. 79.二次型与正定矩阵
  80. 80.LU分解
  81. 81.Cholesky分解
  82. 82.SVD分解
  83. 83.线搜索
  84. 84.步长
  85. 85.最速下降法和牛顿法
  86. 86.共轭梯度法
  87. 87.拟牛顿法
  88. 88.无约束优化
  89. 89.若干知识点补充(一)
  90. 90.若干知识点补充(二)
  91. 91.凸优化问题
  92. 92.对偶问题(一)
  93. 93.对偶问题(二)

重要极限

约 15 分钟

📺 正在播放小象官方高清录播(支持倍速与清晰度调节)

两个重要极限

小象实战讲义 · 人工智能数学基础

在上一节中,我们学习了序列极限的定义与性质。本节我们将聚焦于两个在微积分和后续概率论、最优化等领域中至关重要的极限:自然常数 ee 的极限定义,以及与之紧密相关的欧拉常数 γ\gamma。掌握它们的定义、推导过程以及应用技巧,是理解指数增长、对数函数渐近行为以及进行复杂极限计算的基础。

💡 核心导读

  • 第一个重要极限:我们将严格证明序列 xn=(1+1n)nx_n = (1 + \frac{1}{n})^n 单调递增且有上界,序列 yn=(1+1n)n+1y_n = (1 + \frac{1}{n})^{n+1} 单调递减且有下界,且它们收敛于同一个极限——自然常数 ee
  • 第二个重要极限:基于第一个极限的结论,我们将推导出调和级数的部分和与自然对数之差 zn=(1+12++1n)lnnz_n = (1 + \frac{1}{2} + \dots + \frac{1}{n}) - \ln n 收敛于一个常数,即欧拉常数 γ\gamma
  • 极限的应用与变形:学习如何利用 ee 的极限形式,处理形如 (11n)n(1 - \frac{1}{n})^n 或带有指数变化的极限问题。
  • 伯努利不等式的应用:在证明单调性的过程中,伯努利不等式是一个关键工具。
  • 单调收敛原理:本节是运用“单调有界序列必收敛”这一基本原理的绝佳范例。

2.3.1 自然常数 ee 的极限定义

我们首先研究两个密切相关的序列: xn=(1+1n)n,yn=(1+1n)n+1x_n = \left(1 + \frac{1}{n}\right)^n, \quad y_n = \left(1 + \frac{1}{n}\right)^{n+1}

1. 序列间的基本关系 观察 yny_nxnx_n 的关系: yn=(1+1n)xny_n = \left(1 + \frac{1}{n}\right) \cdot x_n 由于 1+1n>11 + \frac{1}{n} > 1,因此对于任意 nn,都有: yn>xny_n > x_n

2. 序列的单调性 接下来,我们证明 xnx_n 单调递增,而 yny_n 单调递减。这里需要用到伯努利不等式作为工具。

伯努利不等式:对于任意实数 x1x \ge -1 和任意正整数 nn,有 (1+x)n1+nx(1+x)^n \ge 1 + nx

  • 证明 xnx_n 单调递增: 考虑相邻两项的比值: xn+1xn=(1+1n+1)n+1(1+1n)n\frac{x_{n+1}}{x_n} = \frac{\left(1 + \frac{1}{n+1}\right)^{n+1}}{\left(1 + \frac{1}{n}\right)^n} 为了应用伯努利不等式,我们进行如下变形: xn+1xn=(1+1n+11+1n)n+111+1n=(11(n+1)2)n+1nn+1\begin{aligned} \frac{x_{n+1}}{x_n} &= \left(\frac{1 + \frac{1}{n+1}}{1 + \frac{1}{n}}\right)^{n+1} \cdot \frac{1}{1 + \frac{1}{n}} \ &= \left(1 - \frac{1}{(n+1)^2}\right)^{n+1} \cdot \frac{n}{n+1} \end{aligned}X=1(n+1)2X = -\frac{1}{(n+1)^2},显然 X1X \ge -1。应用伯努利不等式 (1+X)n+11+(n+1)X(1+X)^{n+1} \ge 1 + (n+1)X,可得: (11(n+1)2)n+111n+1=nn+1\left(1 - \frac{1}{(n+1)^2}\right)^{n+1} \ge 1 - \frac{1}{n+1} = \frac{n}{n+1} 代入原式: xn+1xnnn+1nn+1=(nn+1)2\frac{x_{n+1}}{x_n} \ge \frac{n}{n+1} \cdot \frac{n}{n+1} = \left(\frac{n}{n+1}\right)^2 虽然 (nn+1)2<1\left(\frac{n}{n+1}\right)^2 < 1,但我们的推导有误。正确的推导路径如下: xn+1xn=(n+2n+1)n+1(n+1n)n=(n(n+2)(n+1)2)n+1n+1n=(11(n+1)2)n+1(1+1n)\begin{aligned} \frac{x_{n+1}}{x_n} &= \frac{\left(\frac{n+2}{n+1}\right)^{n+1}}{\left(\frac{n+1}{n}\right)^n} \ &= \left(\frac{n(n+2)}{(n+1)^2}\right)^{n+1} \cdot \frac{n+1}{n} \ &= \left(1 - \frac{1}{(n+1)^2}\right)^{n+1} \cdot \left(1 + \frac{1}{n}\right) \end{aligned}(11(n+1)2)n+1\left(1 - \frac{1}{(n+1)^2}\right)^{n+1} 应用伯努利不等式: (11(n+1)2)n+11n+1(n+1)2=11n+1=nn+1\left(1 - \frac{1}{(n+1)^2}\right)^{n+1} \ge 1 - \frac{n+1}{(n+1)^2} = 1 - \frac{1}{n+1} = \frac{n}{n+1} 因此, xn+1xnnn+1(1+1n)=nn+1n+1n=1\frac{x_{n+1}}{x_n} \ge \frac{n}{n+1} \cdot \left(1 + \frac{1}{n}\right) = \frac{n}{n+1} \cdot \frac{n+1}{n} = 1 所以 xn+1xnx_{n+1} \ge x_n,即序列 {xn}{x_n} 单调递增。

  • 证明 yny_n 单调递减: 考虑相邻两项的比值: ynyn+1=(1+1n)n+1(1+1n+1)n+2\frac{y_n}{y_{n+1}} = \frac{\left(1 + \frac{1}{n}\right)^{n+1}}{\left(1 + \frac{1}{n+1}\right)^{n+2}} 经过类似的变形(具体步骤略),可以将其化为: ynyn+1=(1+1n2+2n)n+111+1n+1\frac{y_n}{y_{n+1}} = \left(1 + \frac{1}{n^2 + 2n}\right)^{n+1} \cdot \frac{1}{1 + \frac{1}{n+1}}(1+1n2+2n)n+1\left(1 + \frac{1}{n^2 + 2n}\right)^{n+1} 应用伯努利不等式: (1+1n2+2n)n+11+n+1n2+2n\left(1 + \frac{1}{n^2 + 2n}\right)^{n+1} \ge 1 + \frac{n+1}{n^2 + 2n} 代入并通分计算后,可以得到 ynyn+1>1\frac{y_n}{y_{n+1}} > 1,即 yn>yn+1y_n > y_{n+1},所以序列 {yn}{y_n} 单调递减。

3. 收敛性与极限定义 综合以上结论,我们有:

  • x1<x2<<xn<x_1 < x_2 < \dots < x_n < \dots
  • y1>y2>>yn>y_1 > y_2 > \dots > y_n > \dots
  • 对任意 nnxn<ynx_n < y_n

特别地,xn<y1x_n < y_1 对所有 nn 成立,故 {xn}{x_n} 单调递增且有上界;yn>x1y_n > x_1 对所有 nn 成立,故 {yn}{y_n} 单调递减且有下界。根据单调收敛原理{xn}{x_n}{yn}{y_n} 都收敛。

由于 yn=(1+1n)xny_n = (1 + \frac{1}{n}) x_n,两边同时取极限(设 limnxn=L\lim_{n\to\infty} x_n = Llimnyn=M\lim_{n\to\infty} y_n = M),并注意到 limn(1+1n)=1\lim_{n\to\infty} (1 + \frac{1}{n}) = 1,可得: M=1L=LM = 1 \cdot L = L 即两个序列收敛于同一个极限。我们定义这个共同的极限为自然常数 ee

limn(1+1n)n=e\boxed{\lim_{n \to \infty} \left(1 + \frac{1}{n}\right)^n = e} limn(1+1n)n+1=e\boxed{\lim_{n \to \infty} \left(1 + \frac{1}{n}\right)^{n+1} = e}

2.3.2 欧拉常数 γ\gamma 的引入

从第一个重要极限的结论出发,我们可以得到关于自然对数的不等式链。因为 xn<e<ynx_n < e < y_n,即: (1+1n)n<e<(1+1n)n+1\left(1 + \frac{1}{n}\right)^n < e < \left(1 + \frac{1}{n}\right)^{n+1} 对不等式两边同时取自然对数 ln()\ln(\cdot),利用其对数的单调性: nln(1+1n)<1<(n+1)ln(1+1n)n \ln\left(1 + \frac{1}{n}\right) < 1 < (n+1) \ln\left(1 + \frac{1}{n}\right) 整理可得: 1n+1<ln(1+1n)<1n\frac{1}{n+1} < \ln\left(1 + \frac{1}{n}\right) < \frac{1}{n} 这个不等式对任意正整数 nn 都成立。

现在,令 nn11 取到 NN,并将这 NN 个不等式相加: k=1N1k+1<k=1Nln(1+1k)<k=1N1k\sum_{k=1}^{N} \frac{1}{k+1} < \sum_{k=1}^{N} \ln\left(1 + \frac{1}{k}\right) < \sum_{k=1}^{N} \frac{1}{k} 中间的和式可以利用对数的性质进行化简: k=1Nln(1+1k)=k=1Nln(k+1k)=ln(k=1Nk+1k)=ln(2132N+1N)=ln(N+1)\begin{aligned} \sum_{k=1}^{N} \ln\left(1 + \frac{1}{k}\right) &= \sum_{k=1}^{N} \ln\left(\frac{k+1}{k}\right) \ &= \ln\left(\prod_{k=1}^{N} \frac{k+1}{k}\right) \ &= \ln\left(\frac{2}{1} \cdot \frac{3}{2} \cdot \dots \cdot \frac{N+1}{N}\right) \ &= \ln(N+1) \end{aligned} 于是,我们得到: k=1N1k+1<ln(N+1)<k=1N1k\sum_{k=1}^{N} \frac{1}{k+1} < \ln(N+1) < \sum_{k=1}^{N} \frac{1}{k} 现在,我们构造一个新的序列 zNz_NzN=(1+12+13++1N)lnNz_N = \left(1 + \frac{1}{2} + \frac{1}{3} + \dots + \frac{1}{N}\right) - \ln N 我们的目标是研究 {zN}{z_N} 的收敛性。利用上面的不等式,我们可以证明 {zN}{z_N} 是单调递减且有下界的。

  • 有下界:由 ln(N+1)<k=1N1k\ln(N+1) < \sum_{k=1}^{N} \frac{1}{k},可得 zN=k=1N1klnN>ln(N+1)lnN=ln(1+1N)>0z_N = \sum_{k=1}^{N} \frac{1}{k} - \ln N > \ln(N+1) - \ln N = \ln\left(1 + \frac{1}{N}\right) > 0 所以 zN>0z_N > 0,序列有下界 00

  • 单调递减:考虑相邻两项的差: zNzN+1=(k=1N1klnN)(k=1N+11kln(N+1))=1N+1+(ln(N+1)lnN)=ln(1+1N)1N+1\begin{aligned} z_N - z_{N+1} &= \left(\sum_{k=1}^{N} \frac{1}{k} - \ln N\right) - \left(\sum_{k=1}^{N+1} \frac{1}{k} - \ln(N+1)\right) \ &= -\frac{1}{N+1} + (\ln(N+1) - \ln N) \ &= \ln\left(1 + \frac{1}{N}\right) - \frac{1}{N+1} \end{aligned} 根据之前推导的不等式 ln(1+1N)>1N+1\ln(1 + \frac{1}{N}) > \frac{1}{N+1},可知 zNzN+1>0z_N - z_{N+1} > 0,即 zN>zN+1z_N > z_{N+1}。所以 {zN}{z_N} 单调递减。

由于 {zN}{z_N} 单调递减且有下界,根据单调收敛原理,它必定收敛。我们将其极限定义为欧拉常数 γ\gamma

γ=limN[(1+12++1N)lnN]\boxed{\gamma = \lim_{N \to \infty} \left[ \left(1 + \frac{1}{2} + \dots + \frac{1}{N}\right) - \ln N \right]}

欧拉常数 γ\gamma 是一个重要的数学常数,其近似值约为 0.57721566490.5772156649\dots。这个极限揭示了调和级数的部分和 k=1N1k\sum_{k=1}^{N} \frac{1}{k}lnN\ln NNN \to \infty 时具有相同的发散趋势(都趋向无穷大),但它们之间的差会稳定地趋近于一个固定常数 γ\gamma

2.3.3 重要极限的应用与计算技巧

掌握了 ee 的标准极限形式后,我们可以处理一些相关的极限问题。核心思想是通过代数变形,将所求极限化为标准形式

例题 1:求极限 limn(12n)n\lim_{n \to \infty} \left(1 - \frac{2}{n}\right)^n

:将底数写成 (1+无穷小)(1 + \text{无穷小}) 的形式,并调整指数。 (12n)n=[(1+(2)n)n2]2\left(1 - \frac{2}{n}\right)^n = \left[\left(1 + \frac{(-2)}{n}\right)^{\frac{n}{-2}}\right]^{-2}m=n2m = -\frac{n}{2},则当 nn \to \infty 时,mm \to \infty。因此, limn(12n)n=limm[(1+1m)m]2=e2\lim_{n \to \infty} \left(1 - \frac{2}{n}\right)^n = \lim_{m \to \infty} \left[\left(1 + \frac{1}{m}\right)^{m}\right]^{-2} = e^{-2}

例题 2:求极限 limn(11n)n\lim_{n \to \infty} \left(1 - \frac{1}{n}\right)^n

:这是例题1中 a=1a=1 的特殊情况。 (11n)n=[(1+(1)n)n1]1e1\left(1 - \frac{1}{n}\right)^n = \left[\left(1 + \frac{(-1)}{n}\right)^{\frac{n}{-1}}\right]^{-1} \to e^{-1}

例题 3:分析极限 limn(11n)n2\lim_{n \to \infty} \left(1 - \frac{1}{n}\right)^{n^2}

分析与解:这个极限不能直接套用公式,因为指数是 n2n^2。我们可以将其写作: (11n)n2=[(11n)n]n\left(1 - \frac{1}{n}\right)^{n^2} = \left[\left(1 - \frac{1}{n}\right)^{n}\right]^{n} 由例题2可知,(11n)ne1<1\left(1 - \frac{1}{n}\right)^{n} \to e^{-1} < 1。因此,当 nn 充分大时,(11n)n\left(1 - \frac{1}{n}\right)^{n} 会小于一个小于 11 的固定常数 qq(例如 q=0.4q = 0.4)。那么对于充分大的 nn,有: 0<(11n)n2<qn0 < \left(1 - \frac{1}{n}\right)^{n^2} < q^n 由于 0<q<10 < q < 1limnqn=0\lim_{n \to \infty} q^n = 0。根据夹逼定理,原极限为 00

严谨表述:因为 limn(11n)n=1e(0,1)\lim_{n \to \infty} (1 - \frac{1}{n})^n = \frac{1}{e} \in (0, 1),故存在 q(1e,1)q \in (\frac{1}{e}, 1) 和正整数 NN,使得当 n>Nn > N 时,(11n)n<q(1 - \frac{1}{n})^n < q。于是当 n>Nn > N 时,0<(11n)n2<qn0 < (1 - \frac{1}{n})^{n^2} < q^n。由 limnqn=0\lim_{n \to \infty} q^n = 0,得 limn(11n)n2=0\lim_{n \to \infty} (1 - \frac{1}{n})^{n^2} = 0

import numpy as np
import matplotlib.pyplot as plt

# 验证第一个重要极限:收敛到 e
n_vals = np.logspace(1, 7, 50, dtype=int)  # 从10到1000万的指数间隔点
x_n = (1 + 1/n_vals) ** n_vals
y_n = (1 + 1/n_vals) ** (n_vals + 1)

plt.figure(figsize=(12, 5))
plt.subplot(1, 2, 1)
plt.plot(n_vals, x_n, 'b-', label=r'<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>x</mi><mi>n</mi></msub><mo>=</mo><mo stretchy="false">(</mo><mn>1</mn><mo>+</mo><mn>1</mn><mi mathvariant="normal">/</mi><mi>n</mi><msup><mo stretchy="false">)</mo><mi>n</mi></msup></mrow><annotation encoding="application/x-tex">x_n = (1+1/n)^n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="katex-base"><span class="katex-strut" style="height:0.5806em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">x</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="katex-sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="katex-base"><span class="katex-strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord">1</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="katex-base"><span class="katex-strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord">1/</span><span class="mord mathnormal">n</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.6644em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="katex-sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span></span></span></span></span></span></span></span>', alpha=0.7)
plt.plot(n_vals, y_n, 'r--', label=r'<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>y</mi><mi>n</mi></msub><mo>=</mo><mo stretchy="false">(</mo><mn>1</mn><mo>+</mo><mn>1</mn><mi mathvariant="normal">/</mi><mi>n</mi><msup><mo stretchy="false">)</mo><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">y_n = (1+1/n)^{n+1}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="katex-base"><span class="katex-strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="katex-sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="katex-base"><span class="katex-strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord">1</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="katex-base"><span class="katex-strut" style="height:1.0641em;vertical-align:-0.25em;"></span><span class="mord">1/</span><span class="mord mathnormal">n</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="katex-sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">n</span><span class="mbin mtight">+</span><span class="mord mtight">1</span></span></span></span></span></span></span></span></span></span></span></span>', alpha=0.7)
plt.axhline(y=np.e, color='k', linestyle=':', label=r'<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>=</mo><mi>e</mi></mrow><annotation encoding="application/x-tex">y = e</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="katex-base"><span class="katex-strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="katex-base"><span class="katex-strut" style="height:0.4306em;"></span><span class="mord mathnormal">e</span></span></span></span>', alpha=0.5)
plt.xscale('log')
plt.xlabel('n (log scale)')
plt.ylabel('Sequence Value')
plt.title('Convergence to Natural Constant e')
plt.legend()
plt.grid(True, alpha=0.3)

# 验证第二个重要极限:收敛到欧拉常数 gamma
N_vals = np.logspace(1, 6, 50, dtype=int)
harmonic_partial_sum = np.cumsum(1 / np.arange(1, N_vals.max()+1))[N_vals-1] # 计算调和级数部分和
z_N = harmonic_partial_sum - np.log(N_vals)

# 使用已知的高精度近似值
gamma_approx = 0.5772156649015328606065120900824024310421

plt.subplot(1, 2, 2)
plt.plot(N_vals, z_N, 'g-', label=r'<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mi>N</mi></msub><mo>=</mo><msub><mi>H</mi><mi>N</mi></msub><mo>−</mo><mi>ln</mi><mo>⁡</mo><mi>N</mi></mrow><annotation encoding="application/x-tex">z_N = H_N - \ln N</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="katex-base"><span class="katex-strut" style="height:0.5806em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.044em;">z</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.044em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="katex-sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.109em;">N</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="katex-base"><span class="katex-strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0813em;">H</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.0813em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="katex-sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.109em;">N</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="katex-base"><span class="katex-strut" style="height:0.6944em;"></span><span class="mop">ln</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.109em;">N</span></span></span></span>', alpha=0.7)
plt.axhline(y=gamma_approx, color='k', linestyle=':', label=r'<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>γ</mi><mo>≈</mo><mn>0.5772</mn></mrow><annotation encoding="application/x-tex">\gamma \approx 0.5772</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="katex-base"><span class="katex-strut" style="height:0.6776em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.0556em;">γ</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="katex-base"><span class="katex-strut" style="height:0.6444em;"></span><span class="mord">0.5772</span></span></span></span>', alpha=0.5)
plt.xscale('log')
plt.xlabel('N (log scale)')
plt.ylabel('Sequence Value')
plt.title('Convergence to Euler–Mascheroni Constant γ')
plt.legend()
plt.grid(True, alpha=0.3)

plt.tight_layout()
plt.show()

# 打印最后几个计算值
print("验证第一个极限 (最后5项):")
for i in range(-5, 0):
    print(f"n={n_vals[i]:>8}, x_n={x_n[i]:.10f}, y_n={y_n[i]:.10f}, e={np.e:.10f}")

print("\n验证第二个极限 (最后5项):")
for i in range(-5, 0):
    print(f"N={N_vals[i]:>8}, z_N={z_N[i]:.10f}, γ={gamma_approx:.10f}")

📝 动手练一练

  1. 极限计算:求极限 limn(1+3n)2n\lim_{n \to \infty} \left(1 + \frac{3}{n}\right)^{2n}

    参考答案limn(1+3n)2n=limn[(1+3n)n3]6=e6\lim_{n \to \infty} \left(1 + \frac{3}{n}\right)^{2n} = \lim_{n \to \infty} \left[\left(1 + \frac{3}{n}\right)^{\frac{n}{3}}\right]^{6} = e^{6}

  2. 不等式应用:利用本节推导出的不等式 1n+1<ln(1+1n)<1n\frac{1}{n+1} < \ln(1+\frac{1}{n}) < \frac{1}{n},证明序列 an=(1+1n)n+12a_n = \left(1 + \frac{1}{n}\right)^{n+\frac{1}{2}} 是单调递减的。(提示:考虑 lnan\ln a_n 的相邻项之差)

    参考答案: 考虑 lnanlnan+1=(n+12)ln(1+1n)(n+32)ln(1+1n+1)\ln a_{n} - \ln a_{n+1} = (n+\frac{1}{2})\ln(1+\frac{1}{n}) - (n+\frac{3}{2})\ln(1+\frac{1}{n+1})。 利用不等式 ln(1+1n)<1n\ln(1+\frac{1}{n}) < \frac{1}{n}ln(1+1n+1)>1n+2\ln(1+\frac{1}{n+1}) > \frac{1}{n+2},可得: lnanlnan+1<(n+12)1n(n+32)1n+2\ln a_{n} - \ln a_{n+1} < (n+\frac{1}{2})\cdot\frac{1}{n} - (n+\frac{3}{2})\cdot\frac{1}{n+2}。 化简右边为 12n(n+2)>0\frac{1}{2n(n+2)} > 0,故 lnan>lnan+1\ln a_n > \ln a_{n+1},即 an>an+1a_n > a_{n+1},序列单调递减。

本章小结

本节我们深入探讨了微积分中的两个基石性极限:

  1. 自然常数 ee:通过构造单调有界序列 xn=(1+1n)nx_n = (1+\frac{1}{n})^nyn=(1+1n)n+1y_n = (1+\frac{1}{n})^{n+1},并利用伯努利不等式证明其单调性,我们严格定义了 ee 为它们的共同极限。这是指数函数 exe^x 定义的源头。
  2. 欧拉常数 γ\gamma:从 ee 的极限定义出发,推导出对数不等式,进而构造出序列 zN=HNlnNz_N = H_N - \ln N(其中 HNH_N 是调和级数部分和),并证明其收敛。这个极限揭示了调和级数与自然对数发散速率间的精妙关系。

行动清单

  • 理解证明脉络:回顾利用伯努利不等式证明序列单调性的关键步骤,这是分析序列行为的经典方法。
  • 掌握变形技巧:面对形如 (1+an)bn(1 + \frac{a}{n})^{bn} 的极限,熟练将其化为 (1+1m)mab?(1 + \frac{1}{m})^{m \cdot \frac{ab}{?}} 的标准形式。
  • 数值验证:运行提供的 Python 代码,直观观察序列 xnx_n, yny_n 如何从两侧逼近 ee,以及 zNz_N 如何缓慢趋近 γ\gamma,加深对收敛过程的理解。

— 小象教研组

配套学习资源与课件
  • 第2章讲义:序列极限(PDF · 3.2MB)
    下载
🎁 免费学习资源

领取《小象 11GB VIP 课件资料包与大厂真题手册》

包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。

  • 完整 Python / 数据分析 Jupyter 实战源码
  • 大厂真实业务数据集与练习题
  • 微信扫码添加课程顾问,免费获取网盘下载链接
微信二维码:扫码添加课程顾问微信扫码添加顾问