ε-δ语言(Epsilon–Delta 语言)
ε-δ语言(Epsilon–Delta 语言)
flyfish
在微积分中,极限的直观含义是当自变量无限接近某一点时,函数值无限接近某个常数。为了严格定义极限,数学家引入了 ε-δ语言(Epsilon–Delta language)。
ε(Epsilon):表示要求的精度。
δ(Delta):表示自变量接近的程度。
逻辑 1:直观解释
假设函数 f(x)f(x)f(x) 在点 aaa 附近有定义。
如果存在一个数 LLL,使得:无论事先给定一个多么小的 ε>0\varepsilon > 0ε>0,
总能找到一个 δ>0\delta > 0δ>0,只要 xxx 满足 0<∣x−a∣<δ0 < |x-a| < \delta0<∣x−a∣<δ,
就保证 ∣f(x)−L∣<ε|f(x)-L| < \varepsilon∣f(x)−L∣<ε。
那么我们就说:
limx→af(x)=L\lim_{x \to a} f(x) = Lx→alimf(x)=L
逻辑 2:逐层分解
-
前提条件
f(x)f(x)f(x) 在 aaa 的“去心邻域”内有定义(不包含 aaa 本身)。 -
逻辑展开
存在一个常数 LLL;任意给定一个 ε>0\varepsilon > 0ε>0;
总能找到一个对应的 δ>0\delta > 0δ>0;
当 0<∣x−a∣<δ0 < |x-a| < \delta0<∣x−a∣<δ 时;就有 ∣f(x)−L∣<ε|f(x)-L| < \varepsilon∣f(x)−L∣<ε。 -
结论
如果以上条件成立,就说:
limx→af(x)=L\lim_{x \to a} f(x) = Lx→alimf(x)=L
逻辑 3:严格定义
设 f(x)f(x)f(x) 在点 aaa 的某个去心邻域 U∘(a,δ_0)U^\circ(a, \delta\_0)U∘(a,δ_0) 内有定义。
如果存在常数 LLL,使得:
∀ε>0, ∃δ>0, 当 0<∣x−a∣<δ 时,有 ∣f(x)−L∣<ε,\forall \varepsilon > 0, \ \exists \delta > 0, \ \text{当 } 0 < |x-a| < \delta \text{ 时,有 } |f(x)-L| < \varepsilon,∀ε>0, ∃δ>0, 当 0<∣x−a∣<δ 时,有 ∣f(x)−L∣<ε,
则称 LLL 是 f(x)f(x)f(x) 在 x→ax \to ax→a 时的极限,记作:
limx→af(x)=L\lim_{x \to a} f(x) = Lx→alimf(x)=L
逻辑 4:符号与直观意义
符号/表述 | 数学含义 | 直观解释 |
---|---|---|
∀ε>0\forall \varepsilon > 0∀ε>0 | 对于任意给定的正数ε | ε是误差容忍度:可以任意指定一个目标精度,要求f(x)与L的差距不超过这个精度。 |
∃δ>0\exists \delta > 0∃δ>0 | 总存在正数δ | δ是自变量的控制范围:只要我能找到一个对应的δ,使得x落在a的δ邻域内(不包含a),就能满足你指定的ε精度。 |
0<∣x−a∣<δ0 < |x - a| < \delta0<∣x−a∣<δ | x与a的距离小于δ,且x≠a | ∣x−a∣<δ|x - a| < \delta∣x−a∣<δ:x在a的“δ邻域”内(左右两侧都靠近a); 0<∣x−a∣0 < |x - a|0<∣x−a∣:极限与x=a处的函数值无关(即使f(a)无定义或不等于L,极限仍可存在)。 |
∣f(x)−L∣<ε|f(x) - L| < \varepsilon∣f(x)−L∣<ε | f(x)与L的距离小于ε | 满足了“误差容忍度”,即f(x)落在L的“ε邻域”内。 |
证明
证明:
limx→32x=6\lim_{x \to 3} 2x = 6x→3lim2x=6
步骤 1:写出目标条件
我们要证明:
对于任意 ε>0\varepsilon > 0ε>0,存在 δ>0\delta > 0δ>0,使得
0<∣x−3∣<δ ⇒ ∣2x−6∣<ε0 < |x-3| < \delta \ \ \Rightarrow \ |2x-6| < \varepsilon0<∣x−3∣<δ ⇒ ∣2x−6∣<ε
步骤 2:化简不等式
注意:
∣2x−6∣=∣2(x−3)∣=2∣x−3∣|2x-6| = |2(x-3)| = 2|x-3|∣2x−6∣=∣2(x−3)∣=2∣x−3∣
因此,只要保证:
2∣x−3∣<ε2|x-3| < \varepsilon2∣x−3∣<ε
即可。
一个式子是
0<∣x−3∣<δ0 < |x-3| < \delta0<∣x−3∣<δ
另一个式子是
∣2x−6∣=2∣x−3∣<2⋅ε2=ε.|2x - 6| = 2 |x - 3| < 2 \cdot \frac{\varepsilon}{2} = \varepsilon.∣2x−6∣=2∣x−3∣<2⋅2ε=ε.
2∣x−3∣<ε2|x-3| < \varepsilon2∣x−3∣<ε
步骤 3:给出 δ 的选择
令:
δ=ε2\delta = \frac{\varepsilon}{2}δ=2ε
那么,当 0<∣x−3∣<δ0 < |x-3| < \delta0<∣x−3∣<δ 时,有:
∣2x−6∣=2∣x−3∣<2δ=ε|2x-6| = 2|x-3| < 2\delta = \varepsilon∣2x−6∣=2∣x−3∣<2δ=ε
步骤 4:结论
因此:
对任意 ε>0\varepsilon > 0ε>0,都能找到 δ=ε/2\delta = \varepsilon/2δ=ε/2,使条件成立。
所以:
limx→32x=6\lim_{x \to 3} 2x = 6x→3lim2x=6
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangledef f(x):return 2 * xa = 3
L = 6
epsilon_values = [2, 1, 0.5] # 逐渐缩小,模拟任意小 εfig, axes = plt.subplots(1, 3, figsize=(15, 5))for i, epsilon in enumerate(epsilon_values):ax = axes[i]delta = epsilon / 2 # δ = ε / 2# 生成 x 数据,用于绘制函数曲线x = np.linspace(a - 2, a + 2, 1000)y = f(x)# 绘制函数曲线ax.plot(x, y, 'b-', linewidth=2, label='f(x) = 2x')# 绘制 L、L+ε、L-ε 的水平线ax.axhline(y=L, color='g', linestyle='-', label=f'L = {L}')ax.axhline(y=L + epsilon, color='r', linestyle='--', label=f'L + ε = {L + epsilon}')ax.axhline(y=L - epsilon, color='r', linestyle='--', label=f'L - ε = {L - epsilon}')# 绘制 a - δ 和 a + δ 的垂直线ax.axvline(x=a - delta, color='m', linestyle='--', label=f'a - δ = {a - delta}')ax.axvline(x=a + delta, color='m', linestyle='--', label=f'a + δ = {a + delta}')# 绘制矩形区域,表示当 x 在 (a-δ, a+δ) 时,f(x) 在 (L-ε, L+ε) 内rect = Rectangle((a - delta, L - epsilon), 2 * delta, 2 * epsilon, facecolor='yellow', alpha=0.3)ax.add_patch(rect)# 标记点 (a, L)ax.plot(a, L, 'go', markersize=8, label='(a, L)')# 设置标题和坐标轴标签ax.set_title(f'ε = {epsilon}, δ = {delta}')ax.set_xlabel('x')ax.set_ylabel('f(x)')# 设置坐标轴范围,使图形更美观ax.set_xlim(a - 2, a + 2)ax.set_ylim(L - 4, L + 4) # 调整 y 范围以匹配线性函数# 添加图例(放置在右上角,避免重叠)ax.legend(loc='upper right')# 网格ax.grid(True)plt.tight_layout()
plt.show()
再举个例子
选取函数 f(x)=−x2+4f(x) = -x^2 + 4f(x)=−x2+4 作为例子。
当自变量 x→1x \to 1x→1 时,函数的极限为:
limx→1f(x)=3\lim_{x \to 1} f(x) = 3x→1limf(x)=3
即极限值 L=3L = 3L=3
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle# 定义函数,这里以 f(x) = -x² + 4(在 x→1 时,极限 L=3)为例
def f(x):return -x**2 + 4# 极限相关参数
a = 1 # 趋近的点
L = 3 # 极限值# 创建画布和子图
fig, axes = plt.subplots(1, 3, figsize=(15, 5))# 不同的 ε 值
epsilon_values = [1, 0.5, 0.2]for i, epsilon in enumerate(epsilon_values):ax = axes[i]# 计算对应的 δ(这里简单通过函数在 a±δ 处的值与 L±ε 比较来近似找到 δ)# 从 a 开始向左右搜索,找到满足 |f(a±δ) - L| < ε 的最大 δdelta = 0.01while delta < 2 and (abs(f(a + delta) - L) < epsilon or abs(f(a - delta) - L) < epsilon):delta += 0.01delta -= 0.01 # 回退到满足条件的最大 δ# 生成 x 数据,用于绘制函数曲线x = np.linspace(a - 2, a + 2, 1000)y = f(x)# 绘制函数曲线ax.plot(x, y, 'b-', linewidth=2)# 绘制 L、L+ε、L-ε 的水平线ax.axhline(y=L, color='g', linestyle='-', label=f'$L = {L}$')ax.axhline(y=L + epsilon, color='r', linestyle='--', label=f'$L + \\epsilon = {L + epsilon:.1f}$')ax.axhline(y=L - epsilon, color='r', linestyle='--', label=f'$L - \\epsilon = {L - epsilon:.1f}$')# 绘制 a - δ 和 a + δ 的垂直线ax.axvline(x=a - delta, color='m', linestyle='--', label=f'$a - \\delta = {a - delta:.2f}$')ax.axvline(x=a + delta, color='m', linestyle='--', label=f'$a + \\delta = {a + delta:.2f}$')# 绘制矩形区域,表示当 x 在 (a-δ, a+δ) 时,f(x) 在 (L-ε, L+ε) 内rect = Rectangle((a - delta, L - epsilon), 2 * delta, 2 * epsilon, facecolor='yellow', alpha=0.3)ax.add_patch(rect)# 标记点 (a, L)ax.plot(a, L, 'go', markersize=8)# 设置标题和坐标轴标签ax.set_title(f'(epsilon = {epsilon})')ax.set_xlabel('x')ax.set_ylabel('f(x)')# 设置坐标轴范围,使图形更美观ax.set_xlim(a - 2, a + 2)ax.set_ylim(L - 2, L + 2)# 添加图例ax.legend()# 网格ax.grid(True)plt.tight_layout()
plt.show()