Skip to content

第 4 章 连续 ​

学习目标 ​

  • 理解连续的严格定义:极限等于函数值
  • 会分类间断点(可去、跳跃、无穷、振荡)
  • 掌握连续函数的运算法则
  • 掌握介值定理与零点定理
  • 会用二分法在 Python 中求方程近似根

4.1 连续:极限「刚刚好」等于函数值 ​

第 3 章说过,极限 和函数值 是两回事。如果这两个数恰好相等,就得到一个特别重要的性质——连续。

连续(continuity):函数 在点 处连续,当且仅当

把它拆成三个条件,缺一不可:

  1. 存在( 在定义域内);
  2. 存在;
  3. 极限值等于函数值。

直观理解:函数图像在 处「不断裂」。把曲线想象成一条绳子:连续的曲线可以一笔画过 点,不抬笔;不连续的点,曲线在那里「断了」。

看一个反例。函数

在 处没有定义(分母为 0),所以 不存在, 在 处不连续。但第 3 章算过,。极限存在、函数值不存在——这正是「极限与函数值无关」的典型例子。

python
def g(x):
    return (x**2 - 4) / (x - 2)

for x in [1.9, 1.99, 2.01, 2.1]:
    print(f"x = {x:<5} g(x) = {g(x):.4f}")
text
x = 1.9    g(x) = 3.9000
x = 1.99   g(x) = 3.9900
x = 2.01   g(x) = 4.0100
x = 2.1    g(x) = 4.1000

如果人为规定 ,函数就连续了——这种「补上一点就能接上」的间断叫可去间断。

4.2 间断点:曲线在哪里「断」? ​

不连续的点叫间断点。按断裂的方式,常见四类:

类型特征例子
可去间断左右极限相等,但函数值缺失或不对 在
跳跃间断左右极限存在但不相等符号函数在
无穷间断至少一侧趋向无穷大 在
振荡间断函数在一点附近剧烈振荡,极限不存在 在

符号函数(也叫 sign 函数)是跳跃间断的教科书例子:

从左边逼近 0,函数值恒为 ;从右边逼近 0,函数值恒为 。左右极限一个是 一个是 ,不相等,所以 不存在, 是跳跃间断点。

连续与间断

python
import matplotlib.pyplot as plt
from matplotlib import font_manager
for f in font_manager.findSystemFonts():
    if any(k in f for k in ("NotoSansCJK", "NotoSansSC", "wqy", "SimHei", "msyh", "PingFang")):
        font_manager.fontManager.addfont(f)
plt.rcParams["font.sans-serif"] = ["Noto Sans CJK SC", "WenQuanYi Zen Hei", "SimHei", "Microsoft YaHei", "PingFang SC"]
plt.rcParams["axes.unicode_minus"] = False

import numpy as np

fig, axes = plt.subplots(1, 3, figsize=(12, 3.6))

# 1) 连续曲线 f(x) = x²
x = np.linspace(-1.6, 1.6, 300)
axes[0].plot(x, x**2, color="tab:blue")
axes[0].set_title("连续:x² 在 x=1 处")
axes[0].scatter([1], [1], color="tab:red", s=30, zorder=3)
axes[0].set_ylim(-0.3, 2.6)

# 2) 可去间断:(x²-1)/(x-1),x=1 处空心
xx = np.concatenate([np.linspace(-1.6, 0.99, 200), np.linspace(1.01, 1.6, 200)])
axes[1].plot(xx, (xx**2 - 1) / (xx - 1), color="tab:blue")
axes[1].scatter([1], [2], color="white", edgecolors="tab:red", s=40, zorder=3)
axes[1].set_title("可去间断:x=1 处没定义")
axes[1].set_ylim(-0.3, 2.6)

# 3) 跳跃间断:sgn(x)
axes[2].plot([-1.6, 0], [-1, -1], color="tab:blue")
axes[2].plot([0, 1.6], [1, 1], color="tab:blue")
axes[2].scatter([0], [0], color="tab:red", s=30, zorder=3)
axes[2].set_title("跳跃间断:x=0 处左右不同")
axes[2].set_ylim(-1.5, 1.5)

for ax in axes:
    ax.axhline(0, color="black", linewidth=0.8)
    ax.axvline(0, color="black", linewidth=0.8)
    ax.grid(True, linestyle=":", alpha=0.5)
    ax.set_aspect("equal")

fig.suptitle("连续 vs 间断")
fig.savefig("book/public/figs/fig04-discontinuity.png", dpi=120, bbox_inches="tight")
plt.close(fig)

4.3 连续函数的运算 ​

连续函数的「四则运算」保持连续,这是极限四则法则的直接推论:

若 、 在 处连续,则:

  • 在 处连续;
  • 在 处连续;
  • 在 处连续(要求 );
  • 复合函数 在 处连续( 在 连续、 在 连续)。

由这些法则可得一个实用的结论:多项式、三角函数、指数函数、对数函数,在其定义域内处处连续。这意味着对这类函数,求极限时可以直接代入:

比如 ,因为 是多项式,处处连续,代入即可。

4.4 介值定理:连续函数「走过的路」不能跳 ​

连续的本质是「不断裂」。不断裂的函数有一个非常强大的推论:

介值定理(Intermediate Value Theorem):若 在闭区间 上连续,且 ,则对介于 与 之间的任意数 ,都存在 ,使得 。

直觉:从 爬到 ,只要中间不断裂,途中每一个高度都得经过。好比一个人从山脚走到山顶,他必然经过每一个介于山脚和山顶之间的海拔高度——除非他坐直升机(那就不连续了)。

最重要的情况是 ,叫零点定理:若 与 异号(一正一负),则 在 内至少有一个零点。

为什么? 设 。介值定理说,介于 和 之间的每一个数都能取到,0 恰好在中间,所以存在 使 。反过来说,如果图像从 轴下方连到上方,中间必须穿过 轴。

介值定理

python
import matplotlib.pyplot as plt
from matplotlib import font_manager
for f in font_manager.findSystemFonts():
    if any(k in f for k in ("NotoSansCJK", "NotoSansSC", "wqy", "SimHei", "msyh", "PingFang")):
        font_manager.fontManager.addfont(f)
plt.rcParams["font.sans-serif"] = ["Noto Sans CJK SC", "WenQuanYi Zen Hei", "SimHei", "Microsoft YaHei", "PingFang SC"]
plt.rcParams["axes.unicode_minus"] = False

import numpy as np

x = np.linspace(0.6, 2.4, 400)
y = x ** 3 - x - 1

fig, ax = plt.subplots(figsize=(6.5, 5))
ax.plot(x, y, color="tab:blue", label="f(x) = x³ - x - 1")
ax.axhline(0, color="black", linewidth=0.8)
ax.axvline(0, color="black", linewidth=0.8)

zero = 1.324717957
ax.scatter([1, 2], [-1, 5], color="tab:red", zorder=4)
ax.scatter([zero], [0], color="tab:green", s=42, zorder=4)
ax.annotate("零点 c ≈ 1.3247", (zero, 0), textcoords="offset points", xytext=(8, -14), color="tab:green")
ax.annotate("f(1) = -1", (1, -1), textcoords="offset points", xytext=(-16, 6), color="tab:red")
ax.annotate("f(2) = 5", (2, 5), textcoords="offset points", xytext=(6, 2), color="tab:red")

ax.set_xlim(0.6, 2.4)
ax.set_ylim(-2.2, 6)
ax.grid(True, linestyle=":", alpha=0.5)
ax.legend()
ax.set_title("零点定理:f(1)<0, f(2)>0,中间必有零点")
fig.savefig("book/public/figs/fig04-ivt.png", dpi=120, bbox_inches="tight")
plt.close(fig)

应用:证明方程 在 内有根。

是多项式,处处连续;两端异号,由零点定理,存在 使 。定理只保证存在,不告诉我们 具体在哪。要找具体位置,用二分法:每次把区间对半切,保留两端异号的一半,反复缩小区间。

python
def f(x):
    return x**3 - x - 1

a, b = 1.0, 2.0
print(f"f(1) = {f(1):.4f}, f(2) = {f(2):.4f}")

mid = 0.0
for _ in range(30):
    mid = (a + b) / 2
    if f(a) * f(mid) < 0:
        b = mid
    else:
        a = mid

print(f"30 次二分后,零点 ≈ {mid:.10f}")
print(f"验证 f(零点) = {f(mid):.2e}")
text
f(1) = -1.0000, f(2) = 5.0000
30 次二分后,零点 ≈ 1.3247179566
验证 f(零点) = -2.77e-09

4.5 动手实践:连续函数求极限直接代入 ​

利用「初等函数在定义域内连续」,求:

令 。当 时 ,由第一个重要极限,,所以原式 。这里用的是「换元 + 重要极限」,而不是直接代入——因为 在 处是 ,不能代入。

python
import numpy as np

for x in [0.1, 0.01, 0.001, -0.001, -0.01]:
    print(f"x = {x:8.3f}   sin(2x)/x = {np.sin(2*x)/x:9.6f}")
text
x =    0.100   sin(2x)/x =  1.986693
x =    0.010   sin(2x)/x =  1.999867
x =    0.001   sin(2x)/x =  1.999999
x =   -0.001   sin(2x)/x =  1.999999
x =   -0.010   sin(2x)/x =  1.999867

常见错误 ​

错误写法/理解原因
认为「函数在某点有值就连续」连续还要求极限存在且等于函数值,三者缺一不可
把可去间断说成「没有极限」可去间断的极限存在,只是函数值缺失或不对
对不连续函数用介值定理介值定理的前提是闭区间上连续,断裂的函数可以「跳过」中间值
二分法只迭代几次就当作精确值二分法只能逼近,每次迭代区间减半,精度取决于迭代次数
看到 直接代入先化简或变形,再考虑极限

章末练习 ​

基础

  1. 判断 在 处是否连续,写出三条件验证。
  2. 判断 在 处是否连续,并说出间断类型。
  3. 求 ,说明为什么可以直接代入。

提高

  1. 函数 ()在 处是什么类型的间断?写出左右极限。
  2. 证明方程 在 内有根。

挑战

  1. 证明:若 在 上连续,且 ,则对任意 存在 使 (完整写出介值定理的论证)。
  2. 用二分法求 的根,精确到 6 位小数(提示:考虑 ,在 上)。

章末自测 ​

每题选择一个最佳答案。本书不附答案:完成后交由老师或 AI 老师批改讲解。

  1. 在 处连续的定义是?
    • A. 存在
    • B. 存在
    • C.
    • D. 在 处有定义
  2. 在 处的间断属于?
    • A. 可去间断
    • B. 跳跃间断
    • C. 无穷间断
    • D. 连续
  3. 在 处左右极限分别是?
    • A. 都是
    • B. 和
    • C. 和
    • D. 不存在
  4. 多项式函数在其定义域内?
    • A. 不一定连续
    • B. 处处连续
    • C. 只在零点连续
    • D. 只在正数处连续
  5. 若 在 上连续且 、 异号,则?
    • A. 在 内至少有一个零点
    • B. 在 内必有一个最大值
    • C. 方程 无解
    • D. 在 处不连续
  6. 介值定理要求函数在 上?
    • A. 可导
    • B. 连续
    • C. 单调
    • D. 有界
  7. 、、 连续,则 在 内?
    • A. 必有一个解
    • B. 可能有解
    • C. 必无解
    • D. 恰好一个解
  8. 二分法每次迭代后,区间长度?
    • A. 不变
    • B. 减半
    • C. 加倍
    • D. 变成三倍
  9. 等于?
    • A.
    • B.
    • C.
    • D. 不存在
  10. 连续函数图像在 处的直观特征是?
    • A. 有尖角
    • B. 不断裂,可以一笔画过
    • C. 必须水平
    • D. 必须单调