高等数学(一)极限与连续¶
章节概述¶
极限是微积分的基础概念,连续性是函数的重要性质。本章将介绍数列极限、函数极限的概念、性质以及连续性的判断方法,并通过Python代码演示数值计算方法。
学习目标¶
- 理解极限的严格定义
- 掌握常用极限公式
- 学会使用数值方法计算极限
- 理解连续性的概念和判断方法
- 了解间断点的分类
(一)数列极限¶
数列极限的定义¶
对于数列 {aₙ},如果存在常数 L,使得对于任意给定的 ε > 0,都存在正整数 N,当 n > N 时,有 |aₙ - L| < ε,则称 L 为数列 {aₙ} 的极限,记作:
常用极限公式¶
- lim(n→∞) (1/n) = 0
- lim(n→∞) (1 + 1/n)ⁿ = e
- lim(n→∞) (1 + a/n)ⁿ = eᵃ
- lim(n→∞) n! / nⁿ = 0
- lim(n→∞) √n = ∞
数值计算方法¶
def sequence_limit(sequence_func, n_max=1000000, tolerance=1e-10):
"""
通过迭代计算数列极限
参数:
sequence_func: 数列函数,接受参数 n
n_max: 最大迭代次数
tolerance: 收敛容差
返回:
float: 极限的近似值
示例:
>>> def seq(n): return (1 + 1/n) ** n
>>> sequence_limit(seq)
2.7182818284590455
"""
a_n = sequence_func(1)
for n in range(2, n_max + 1):
a_next = sequence_func(n)
if abs(a_next - a_n) < tolerance:
return a_next
a_n = a_next
return a_n
实例分析¶
实例1:计算 lim(n→∞) (1 + 1/n)ⁿ
import math
def seq1(n):
"""数列 aₙ = (1 + 1/n)ⁿ"""
return (1 + 1/n) ** n
limit1 = sequence_limit(seq1)
print(f"lim(n→∞) (1 + 1/n)ⁿ ≈ {limit1}")
print(f"理论值: e = {math.e}")
print(f"误差: {abs(limit1 - math.e)}")
输出:
实例2:计算 lim(n→∞) (n/(n+1))
def seq2(n):
"""数列 aₙ = n/(n+1)"""
return n / (n + 1)
limit2 = sequence_limit(seq2)
print(f"lim(n→∞) (n/(n+1)) ≈ {limit2}")
print(f"理论值: 1.0")
输出:
实例3:计算调和级数的部分和
def harmonic_partial_sum(n):
"""调和级数的前 n 项和"""
return sum(1 / i for i in range(1, n + 1))
# 调和级数发散,我们观察其增长速度
for n in [10, 100, 1000, 10000]:
partial_sum = harmonic_partial_sum(n)
print(f"H_{n} = {partial_sum:.6f}")
输出:
数列极限的性质¶
性质1:极限的唯一性 如果数列收敛,则极限唯一。
性质2:有界性 收敛数列必有界。
性质3:保号性 如果 lim(n→∞) aₙ = L > 0,则存在 N,当 n > N 时,aₙ > 0。
性质4:夹逼准则 如果 aₙ ≤ bₙ ≤ cₙ,且 lim(n→∞) aₙ = lim(n→∞) cₙ = L,则 lim(n→∞) bₙ = L。
(二)函数极限¶
函数极限的定义¶
对于函数 f(x),如果存在常数 L,使得对于任意给定的 ε > 0,都存在 δ > 0,当 0 < |x - x₀| < δ 时,有 |f(x) - L| < ε,则称 L 为函数 f(x) 当 x → x₀ 时的极限,记作:
常用函数极限¶
- lim(x→0) (sin x / x) = 1
- lim(x→0) (1 - cos x) / x² = 1/2
- lim(x→∞) (1 + 1/x)ˣ = e
- lim(x→∞) (ln x) / x = 0
- lim(x→0⁺) xˡⁿˣ = 1
数值计算方法¶
def function_limit(func, x0, approach='both', delta=1e-6, iterations=1000):
"""
通过数值方法计算函数极限
参数:
func: 函数
x0: 趋近点
approach: 'left'(左侧)、'right'(右侧)或 'both'(两侧)
delta: 初始步长
iterations: 最大迭代次数
返回:
float: 极限的近似值
示例:
>>> import math
>>> def f(x): return math.sin(x) / x
>>> function_limit(f, 0)
1.0
"""
def approach_from_right():
x = x0 + delta
return func(x)
def approach_from_left():
x = x0 - delta
return func(x)
if approach == 'right':
return approach_from_right()
elif approach == 'left':
return approach_from_left()
else: # 两侧逼近
return (approach_from_left() + approach_from_right()) / 2
实例分析¶
实例1:计算 lim(x→0) (sin x / x)
import math
def f1(x):
"""函数 f(x) = sin x / x"""
return math.sin(x) / x if x != 0 else 1
limit1 = function_limit(f1, 0)
print(f"lim(x→0) (sin x / x) ≈ {limit1}")
print(f"理论值: 1.0")
实例2:计算 lim(x→0) (1 - cos x) / x²
def f2(x):
"""函数 f(x) = (1 - cos x) / x²"""
return (1 - math.cos(x)) / (x**2) if x != 0 else 0.5
limit2 = function_limit(f2, 0)
print(f"lim(x→0) (1 - cos x) / x² ≈ {limit2}")
print(f"理论值: 0.5")
实例3:计算 lim(x→∞) (ln x) / x
def f3(x):
"""函数 f(x) = (ln x) / x"""
return math.log(x) / x
limit3 = function_limit(f3, 1000, delta=1)
print(f"lim(x→∞) (ln x) / x ≈ {limit3}")
print(f"理论值: 0.0")
函数极限的性质¶
性质1:极限的唯一性 如果 lim(x→x₀) f(x) 存在,则极限唯一。
性质2:局部有界性 如果 lim(x→x₀) f(x) 存在,则 f(x) 在 x₀ 的某个去心邻域内有界。
性质3:局部保号性 如果 lim(x→x₀) f(x) = L > 0,则存在 δ > 0,当 0 < |x - x₀| < δ 时,f(x) > 0。
(三)连续性¶
连续的定义¶
函数 f(x) 在点 x₀ 连续,当且仅当满足: 1. f(x₀) 存在 2. lim(x→x₀) f(x) 存在 3. lim(x→x₀) f(x) = f(x₀)
间断点分类¶
1. 可去间断点 - 定义:左右极限存在且相等,但不等于函数值 - 例子:f(x) = sin x / x 在 x = 0 处
2. 跳跃间断点 - 定义:左右极限存在但不相等 - 例子:符号函数 sgn(x) 在 x = 0 处
3. 无穷间断点 - 定义:至少一侧极限为无穷大 - 例子:f(x) = 1/x 在 x = 0 处
4. 振荡间断点 - 定义:极限不存在(非无穷大) - 例子:f(x) = sin(1/x) 在 x = 0 处
连续性的判断¶
def is_continuous(func, x0, delta=1e-6, tolerance=1e-8):
"""
判断函数在 x0 处是否连续
参数:
func: 函数
x0: 检测点
delta: 计算极限的步长
tolerance: 容差
返回:
bool: 如果连续返回 True
示例:
>>> def f(x): return x**2
>>> is_continuous(f, 0)
True
"""
# 检查函数值是否存在
try:
f_x0 = func(x0)
except:
return False # 函数值不存在
# 计算左右极限
left_limit = function_limit(func, x0, approach='left', delta=delta)
right_limit = function_limit(func, x0, approach='right', delta=delta)
# 检查左右极限是否相等
if abs(left_limit - right_limit) > tolerance:
return False # 左右极限不相等
# 检查极限是否等于函数值
return abs(left_limit - f_x0) < tolerance
实例分析¶
实例1:判断 f(x) = x² 在 x = 0 处是否连续
实例2:判断 f(x) = 1/x 在 x = 0 处是否连续
def f2(x):
"""在 x=0 处不连续"""
return 1/x if x != 0 else 0
print(f"f(x) = 1/x 在 x=0 处连续: {is_continuous(f2, 0)}") # False
实例3:判断 f(x) = sin(1/x) 在 x = 0 处是否连续
def f3(x):
"""振荡间断点"""
return math.sin(1/x) if x != 0 else 0
print(f"f(x) = sin(1/x) 在 x=0 处连续: {is_continuous(f3, 0)}") # False
实例4:可去间断点
def f4(x):
"""可去间断点"""
return math.sin(x) / x if x != 0 else 0 # 定义 f(0) = 0
print(f"f(x) = sin(x)/x (定义 f(0)=0) 在 x=0 处连续: {is_continuous(f4, 0)}") # False
# 正确定义
def f4_corrected(x):
"""可去间断点(正确)"""
return math.sin(x) / x if x != 0 else 1 # 定义 f(0) = 1
print(f"f(x) = sin(x)/x (定义 f(0)=1) 在 x=0 处连续: {is_continuous(f4_corrected, 0)}") # True
连续函数的性质¶
性质1:连续函数的四则运算 如果 f(x) 和 g(x) 在 x₀ 连续,则: - f(x) ± g(x) 在 x₀ 连续 - f(x) × g(x) 在 x₀ 连续 - f(x) / g(x) 在 x₀ 连续(g(x₀) ≠ 0)
性质2:复合函数的连续性 如果 f(x) 在 x₀ 连续,g(x) 在 f(x₀) 连续,则 g(f(x)) 在 x₀ 连续。
性质3:闭区间上连续函数的性质 - 有界性:在闭区间上连续的函数必有界 - 最值定理:在闭区间上连续的函数必有最大值和最小值 - 介值定理:如果 f(a) < k < f(b),则存在 c ∈ (a, b),使得 f(c) = k
(四)极限的计算技巧¶
1. 洛必达法则¶
当 lim(x→x₀) f(x)/g(x) 是 0/0 或 ∞/∞ 型时:
2. 泰勒展开¶
利用泰勒展开式计算极限:
3. 等价无穷小¶
当 x → 0 时: - sin x ~ x - tan x ~ x - arcsin x ~ x - arctan x ~ x - 1 - cos x ~ x²/2 - ln(1 + x) ~ x - eˣ - 1 ~ x
实战练习¶
练习1:计算数列极限¶
计算 lim(n→∞) √(n+1) - √n
def exercise1(n):
"""数列 aₙ = √(n+1) - √n"""
return math.sqrt(n + 1) - math.sqrt(n)
limit = sequence_limit(exercise1)
print(f"lim(n→∞) (√(n+1) - √n) ≈ {limit}")
练习2:判断连续性¶
判断以下函数在指定点是否连续
# 1. f(x) = |x| 在 x = 0
def f_abs(x):
return abs(x)
print(f"f(x) = |x| 在 x=0 处连续: {is_continuous(f_abs, 0)}")
# 2. f(x) = 1/(1-x) 在 x = 1
def f_reciprocal(x):
return 1/(1-x) if x != 1 else 0
print(f"f(x) = 1/(1-x) 在 x=1 处连续: {is_continuous(f_reciprocal, 1)}")
练习3:计算函数极限¶
计算 lim(x→0) (eˣ - 1) / x
def f_exp(x):
"""函数 f(x) = (eˣ - 1) / x"""
return (math.exp(x) - 1) / x if x != 0 else 1
limit = function_limit(f_exp, 0)
print(f"lim(x→0) (eˣ - 1) / x ≈ {limit}")
print(f"理论值: 1.0")
章节小结¶
本章介绍了极限和连续性的基本概念:
- 数列极限:理解定义,掌握常用极限公式和数值计算方法
- 函数极限:理解定义,掌握常用函数极限和数值计算方法
- 连续性:理解连续的定义,学会判断连续性,了解间断点分类
- 极限的计算技巧:掌握洛必达法则、泰勒展开和等价无穷小
极限和连续性是微积分的基础,请务必熟练掌握。
下一步¶
继续学习第二章:导数与微分,学习导数的概念、求导法则和应用。
重点提醒: - 极限是微积分的基础概念 - 连续性的三个条件必须同时满足 - 数值计算方法是理解极限的重要工具 - 熟练掌握常用极限公式对后续学习很重要