📑 查看全课大纲(第 7 / 93 节)
- 1.概论和集合的定义
- 2.逼疯康托的实数集理论
- 3.常用不等式与映射
- 4.函数及特殊函数
- 5.序列极限的定义
- 6.序列极限的性质与夹逼定理
- 7.重要极限
- 8.无穷小量,无穷大量和一组重要的阶的比较关系
- 9.聚点原理
- 10.函数极限及其性质
- 11.重要极限与等价无穷小
- 12.连续函数
- 13.导数的概念(那些年,扛起牛顿的胡克)
- 14.定义法求导
- 15.函数四则运算的导数与反函数求导法则
- 16.复合函数,隐函数,参数式求导
- 17.不定式求导之“洛必达与伯努利的师生情”
- 18.一阶微分
- 19.高阶导数
- 20.高阶微分
- 21.罗尔中值定理与拉格朗日中值定理
- 22.柯西空降科学院遭排挤
- 23.泰勒公式与泰勒的克妻属性
- 24.利用泰勒展开唯一性定理计算泰勒展开
- 25.泰勒公式的余项估计
- 26.极值问题与导数
- 27.函数凹凸性
- 28.无卵用的渐近线与函数作图
- 29.不定积分的定义
- 30.第一换元法
- 31.第二换元法
- 32.分部积分法
- 33.有理式积分
- 34.三角替换
- 35.定积分的概念
- 36.定积分的性质与积分中值定理
- 37.变上限定积分
- 38.微积分基本定理之“高斯教你如何优雅地装逼”
- 39.定积分的换元法
- 40.奇偶函数与周期函数的定积分
- 41.曲线求长与不可求长曲线(海岸线居然算不出长度?)
- 42.旋转体体积
- 43.旋转体侧面积
- 44.极坐标下图形的面积(数学系常用表白曲线)
- 45.欧式空间
- 46.点列极限,开集与闭集
- 47.多元函数的定义
- 48.多元函数的极限
- 49.多元连续函数
- 50.一阶偏导数
- 51.高阶偏导数
- 52.全微分
- 53.方向导数与梯度
- 54.链式法则
- 55.一阶全微分形式的不变性与高阶微分
- 56.多元函数的泰勒公式
- 57.隐函数存在定理与逆映射存在定理
- 58.多元函数的极值
- 59.矩阵基础知识
- 60.行列式的定义与特殊矩阵的行列式
- 61.行列式的性质
- 62.行列式按k行展开
- 63.线性方程组初步与高斯消元法
- 64.齐次线性方程组与Cramer法则
- 65.线性空间
- 66.线性相关与线性无关
- 67.向量组的秩
- 68.矩阵的秩与线性方程组有解的充要条件
- 69.齐次线性方程组的解集结构
- 70.非齐次线性方程组解集结构
- 71.基与维数
- 72.矩阵的乘法
- 73.特殊矩阵
- 74.矩阵乘积的秩与行列式
- 75.矩阵的逆
- 76.正交矩阵
- 77.矩阵对角化与特征值特征向量
- 78.实对称矩阵对角化
- 79.二次型与正定矩阵
- 80.LU分解
- 81.Cholesky分解
- 82.SVD分解
- 83.线搜索
- 84.步长
- 85.最速下降法和牛顿法
- 86.共轭梯度法
- 87.拟牛顿法
- 88.无约束优化
- 89.若干知识点补充(一)
- 90.若干知识点补充(二)
- 91.凸优化问题
- 92.对偶问题(一)
- 93.对偶问题(二)
重要极限
约 15 分钟
两个重要极限
小象实战讲义 · 人工智能数学基础
在上一节中,我们学习了序列极限的定义与性质。本节我们将聚焦于两个在微积分和后续概率论、最优化等领域中至关重要的极限:自然常数 的极限定义,以及与之紧密相关的欧拉常数 。掌握它们的定义、推导过程以及应用技巧,是理解指数增长、对数函数渐近行为以及进行复杂极限计算的基础。
💡 核心导读
- 第一个重要极限:我们将严格证明序列 单调递增且有上界,序列 单调递减且有下界,且它们收敛于同一个极限——自然常数 。
- 第二个重要极限:基于第一个极限的结论,我们将推导出调和级数的部分和与自然对数之差 收敛于一个常数,即欧拉常数 。
- 极限的应用与变形:学习如何利用 的极限形式,处理形如 或带有指数变化的极限问题。
- 伯努利不等式的应用:在证明单调性的过程中,伯努利不等式是一个关键工具。
- 单调收敛原理:本节是运用“单调有界序列必收敛”这一基本原理的绝佳范例。
2.3.1 自然常数 的极限定义
我们首先研究两个密切相关的序列:
1. 序列间的基本关系 观察 与 的关系: 由于 ,因此对于任意 ,都有:
2. 序列的单调性 接下来,我们证明 单调递增,而 单调递减。这里需要用到伯努利不等式作为工具。
伯努利不等式:对于任意实数 和任意正整数 ,有 。
证明 单调递增: 考虑相邻两项的比值: 为了应用伯努利不等式,我们进行如下变形: 令 ,显然 。应用伯努利不等式 ,可得: 代入原式: 虽然 ,但我们的推导有误。正确的推导路径如下: 对 应用伯努利不等式: 因此, 所以 ,即序列 单调递增。
证明 单调递减: 考虑相邻两项的比值: 经过类似的变形(具体步骤略),可以将其化为: 对 应用伯努利不等式: 代入并通分计算后,可以得到 ,即 ,所以序列 单调递减。
3. 收敛性与极限定义 综合以上结论,我们有:
- 对任意 ,
特别地, 对所有 成立,故 单调递增且有上界; 对所有 成立,故 单调递减且有下界。根据单调收敛原理, 和 都收敛。
由于 ,两边同时取极限(设 , ),并注意到 ,可得: 即两个序列收敛于同一个极限。我们定义这个共同的极限为自然常数 。
2.3.2 欧拉常数 的引入
从第一个重要极限的结论出发,我们可以得到关于自然对数的不等式链。因为 ,即: 对不等式两边同时取自然对数 ,利用其对数的单调性: 整理可得: 这个不等式对任意正整数 都成立。
现在,令 从 取到 ,并将这 个不等式相加: 中间的和式可以利用对数的性质进行化简: 于是,我们得到: 现在,我们构造一个新的序列 : 我们的目标是研究 的收敛性。利用上面的不等式,我们可以证明 是单调递减且有下界的。
有下界:由 ,可得 所以 ,序列有下界 。
单调递减:考虑相邻两项的差: 根据之前推导的不等式 ,可知 ,即 。所以 单调递减。
由于 单调递减且有下界,根据单调收敛原理,它必定收敛。我们将其极限定义为欧拉常数 :
欧拉常数 是一个重要的数学常数,其近似值约为 。这个极限揭示了调和级数的部分和 与 在 时具有相同的发散趋势(都趋向无穷大),但它们之间的差会稳定地趋近于一个固定常数 。
2.3.3 重要极限的应用与计算技巧
掌握了 的标准极限形式后,我们可以处理一些相关的极限问题。核心思想是通过代数变形,将所求极限化为标准形式。
例题 1:求极限 。
解:将底数写成 的形式,并调整指数。 令 ,则当 时,。因此,
例题 2:求极限 。
解:这是例题1中 的特殊情况。
例题 3:分析极限 。
分析与解:这个极限不能直接套用公式,因为指数是 。我们可以将其写作: 由例题2可知,。因此,当 充分大时, 会小于一个小于 的固定常数 (例如 )。那么对于充分大的 ,有: 由于 ,。根据夹逼定理,原极限为 。
严谨表述:因为 ,故存在 和正整数 ,使得当 时,。于是当 时,。由 ,得 。
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}")📝 动手练一练
极限计算:求极限 。
参考答案: 。
不等式应用:利用本节推导出的不等式 ,证明序列 是单调递减的。(提示:考虑 的相邻项之差)
参考答案: 考虑 。 利用不等式 和 ,可得: 。 化简右边为 ,故 ,即 ,序列单调递减。
本章小结
本节我们深入探讨了微积分中的两个基石性极限:
- 自然常数 :通过构造单调有界序列 和 ,并利用伯努利不等式证明其单调性,我们严格定义了 为它们的共同极限。这是指数函数 定义的源头。
- 欧拉常数 :从 的极限定义出发,推导出对数不等式,进而构造出序列 (其中 是调和级数部分和),并证明其收敛。这个极限揭示了调和级数与自然对数发散速率间的精妙关系。
行动清单
- 理解证明脉络:回顾利用伯努利不等式证明序列单调性的关键步骤,这是分析序列行为的经典方法。
- 掌握变形技巧:面对形如 的极限,熟练将其化为 的标准形式。
- 数值验证:运行提供的 Python 代码,直观观察序列 , 如何从两侧逼近 ,以及 如何缓慢趋近 ,加深对收敛过程的理解。
— 小象教研组
- 第2章讲义:序列极限(PDF · 3.2MB)下载
领取《小象 11GB VIP 课件资料包与大厂真题手册》
包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。
- ✔完整 Python / 数据分析 Jupyter 实战源码
- ✔大厂真实业务数据集与练习题
- ✔微信扫码添加课程顾问,免费获取网盘下载链接
微信扫码添加顾问