高等数学(四)级数¶
章节概述¶
级数是研究无限项求和的数学工具,在数学分析和应用数学中占有重要地位。本章将介绍数项级数、幂级数和傅里叶级数。
学习目标¶
- 理解级数的概念和收敛性
- 掌握级数收敛的判别法
- 理解幂级数的概念和性质
- 了解傅里叶级数的基本概念
(一)数项级数¶
数项级数的定义¶
数项级数是指形如:
的无穷和。级数收敛的定义¶
如果级数的前 n 项和 Sₙ = Σ(k=1 to n) aₙ 当 n → ∞ 时有极限 S,则称级数收敛,S 称为级数的和。
常见级数¶
1. 等比级数
2. 调和级数
3. p-级数
级数收敛的判别法¶
1. 比较判别法
如果 0 ≤ aₙ ≤ bₙ,且 Σ bₙ 收敛,则 Σ aₙ 收敛。
极限形式:如果 lim(n→∞) aₙ/bₙ = l (0 < l < ∞),则 Σ aₙ 与 Σ bₙ 同敛散。
2. 比值判别法(达朗贝尔判别法)
计算 lim(n→∞) |aₙ₊₁/aₙ| = ρ - 如果 ρ < 1,级数收敛(绝对收敛) - 如果 ρ > 1(或 ρ = ∞),级数发散 - 如果 ρ = 1,无法判断
3. 根值判别法(柯西判别法)
计算 lim(n→∞) √[n]{|aₙ|} = ρ - 如果 ρ < 1,级数收敛 - 如果 ρ > 1(或 ρ = ∞),级数发散 - 如果 ρ = 1,无法判断
4. 积分判别法
设 f(x) 是 [1, ∞) 上的正的单调递减函数,则 Σ f(n) 与 ∫₁^∞ f(x) dx 同敛散。
5. 交错级数判别法(莱布尼茨判别法)
对于交错级数 Σ(-1)ⁿ⁺¹aₙ (aₙ > 0),如果满足: - aₙ ≥ aₙ₊₁(单调递减) - lim(n→∞) aₙ = 0
则级数收敛。
6. 绝对收敛与条件收敛
- 如果 Σ|aₙ| 收敛,则 Σaₙ 绝对收敛
- 如果 Σaₙ 收敛但 Σ|aₙ| 发散,则 Σaₙ 条件收敛
- 绝对收敛的级数一定收敛
常见级数类型¶
数值计算方法¶
import math
def series_sum(terms, n_terms=1000):
"""
计算级数的前 n 项和
参数:
terms: 生成级数项的函数
n_terms: 项数
返回:
float: 级数和的近似值
示例:
>>> series_sum(lambda n: 1/2**n, 20)
0.9999990463256836
"""
return sum(terms(n) for n in range(n_terms))
def convergence_test(series_func, max_terms=1000, tolerance=1e-10):
"""
测试级数是否收敛
参数:
series_func: 生成级数项的函数
max_terms: 最大项数
tolerance: 收敛容差
返回:
tuple: (是否收敛, 近似和)
"""
partial_sum = 0
for n in range(max_terms):
term = series_func(n)
partial_sum += term
if abs(term) < tolerance:
return True, partial_sum
return False, partial_sum
实例分析¶
实例1:计算等比级数 Σ(n=0 to ∞) (1/2)ⁿ
def geometric_term(n):
"""等比级数的第 n 项"""
return (1/2)**n
sum_geometric = series_sum(geometric_term, 20)
print(f"Σ(n=0 to ∞) (1/2)ⁿ ≈ {sum_geometric:.10f}")
print(f"理论值: 1/(1-1/2) = 2.0")
实例2:测试调和级数的收敛性
def harmonic_term(n):
"""调和级数的第 n 项"""
return 1/(n+1)
converges, sum_harmonic = convergence_test(harmonic_term, max_terms=100000)
print(f"调和级数收敛: {converges}")
print(f"前 100000 项和: {sum_harmonic:.6f}")
(二)幂级数¶
幂级数的定义¶
幂级数是指形如:
的级数,其中 x₀ 是级数的中心。收敛半径与收敛区间¶
收敛半径的求法:
- 比值法:R = 1/lim(n→∞) |aₙ₊₁/aₙ|
- 根值法:R = 1/lim(n→∞) √[n]{|aₙ|}
收敛区间: - 收敛区间为 (-R, R) - 端点 x = ±R 需要单独判断
阿贝尔定理: - 如果幂级数在 x = x₀ 处收敛,则在 |x| < |x₀| 内绝对收敛 - 如果幂级数在 x = x₀ 处发散,则在 |x| > |x₀| 内发散
幂级数的运算¶
加法和减法:收敛区间取交集
乘法:柯西乘积
除法:转化为乘法
逐项求导:在收敛区间内可以逐项求导
逐项积分:在收敛区间内可以逐项积分
泰勒级数与麦克劳林级数¶
泰勒级数:
函数 f(x) 在 x₀ 处的泰勒级数为:
麦克劳林级数(x₀ = 0):
常见泰勒/麦克劳林级数¶
1. eˣ
2. sin x
3. cos x
4. ln(1+x)
5. 1/(1-x)
6. arcsin x
实例分析¶
实例:用泰勒级数计算 e^1
def taylor_exp(x, terms=20):
"""
用泰勒级数计算 eˣ
参数:
x: 指数
terms: 项数
返回:
float: eˣ 的近似值
"""
result = 0
for n in range(terms):
result += x**n / math.factorial(n)
return result
for terms in [5, 10, 15, 20]:
approx = taylor_exp(1, terms)
error = abs(approx - math.e)
print(f"{terms} 项: e^1 ≈ {approx:.10f}, 误差: {error:.10f}")
(三)傅里叶级数¶
傅里叶级数的定义¶
周期为 2π 的函数 f(x) 的傅里叶级数为:
其中傅里叶系数为:
傅里叶级数的收敛性¶
狄利克雷收敛定理: - 如果 f(x) 在 [-π, π] 上满足: - 只有有限个第一类间断点 - 只有有限个极值点 - 则 f(x) 的傅里叶级数处处收敛 - 在连续点处收敛于 f(x) - 在间断点处收敛于 [f(x⁺) + f(x⁻)]/2
正弦级数与余弦级数¶
正弦级数(奇延拓): 如果 f(x) 是奇函数,则 aₙ = 0,级数只含正弦项。
余弦级数(偶延拓): 如果 f(x) 是偶函数,则 bₙ = 0,级数只含余弦项。
一般周期的傅里叶级数¶
对于周期为 2L 的函数,作变量替换 t = πx/L,得到:
其中:
a₀ = (1/L) ∫[-L, L] f(x) dx
aₙ = (1/L) ∫[-L, L] f(x) cos(nπx/L) dx
bₙ = (1/L) ∫[-L, L] f(x) sin(nπx/L) dx
实战练习¶
练习1:计算级数和¶
计算 Σ(n=1 to ∞) 1/n²
def p_series_term(n, p=2):
"""p-级数的第 n 项"""
return 1/(n+1)**p
sum_p2 = series_sum(p_series_term, 10000)
print(f"Σ(n=1 to ∞) 1/n² ≈ {sum_p2:.10f}")
print(f"理论值: π²/6 ≈ {math.pi**2/6:.10f}")
练习2:用泰勒级数计算 sin x¶
def taylor_sin(x, terms=10):
"""
用泰勒级数计算 sin x
参数:
x: 角度(弧度)
terms: 项数
返回:
float: sin x 的近似值
"""
result = 0
for n in range(terms):
sign = (-1)**n
term = sign * x**(2*n+1) / math.factorial(2*n+1)
result += term
return result
x = math.pi/4
for terms in [3, 5, 7, 9]:
approx = taylor_sin(x, terms)
error = abs(approx - math.sin(x))
print(f"{terms} 项: sin({x:.4f}) ≈ {approx:.10f}, 误差: {error:.10f}")
练习3:判断级数收敛性¶
def test_convergence():
"""测试各种级数的收敛性"""
# 测试1: 等比级数 Σ(1/2)ⁿ
converges, sum_val = convergence_test(lambda n: (1/2)**n)
print(f"等比级数 Σ(1/2)ⁿ: 收敛={converges}, 和≈{sum_val:.6f}")
# 测试2: p-级数 Σ 1/n² (p=2 > 1, 收敛)
converges, sum_val = convergence_test(lambda n: 1/(n+1)**2, max_terms=10000)
print(f"p-级数 Σ 1/n²: 收敛={converges}, 和≈{sum_val:.6f}")
# 测试3: 调和级数 Σ 1/n (发散)
converges, sum_val = convergence_test(lambda n: 1/(n+1), max_terms=100000)
print(f"调和级数 Σ 1/n: 收敛={converges}, 部分和≈{sum_val:.6f}")
test_convergence()
练习4:用泰勒级数计算 eˣ¶
def taylor_exp(x, terms=20):
"""
用泰勒级数计算 eˣ
参数:
x: 指数
terms: 项数
返回:
float: eˣ 的近似值
"""
result = 0
for n in range(terms):
result += x**n / math.factorial(n)
return result
for terms in [5, 10, 15, 20]:
approx = taylor_exp(1, terms)
error = abs(approx - math.e)
print(f"{terms} 项: e^1 ≈ {approx:.10f}, 误差: {error:.10f}")
练习5:收敛半径计算¶
def find_radius_of_convergence(coeffs):
"""
计算幂级数的收敛半径
参数:
coeffs: 系数列表 [a₀, a₁, a₂, ...]
返回:
float: 收敛半径
"""
max_iter = len(coeffs) - 1
ratios = []
for n in range(max_iter):
if abs(coeffs[n]) > 1e-15:
ratio = abs(coeffs[n+1] / coeffs[n])
ratios.append(ratio)
if ratios:
R = 1.0 / max(ratios)
return R
return float('inf')
# 示例:Σ xⁿ/n! 的收敛半径
coeffs = [1/math.factorial(n) for n in range(20)]
R = find_radius_of_convergence(coeffs)
print(f"Σ xⁿ/n! 的收敛半径: R = {R:.2f} (理论值: ∞)")
章节小结¶
本章介绍了级数的基本概念:
- 数项级数:理解级数的定义和收敛性,掌握收敛判别法
- 幂级数:理解幂级数的概念和收敛半径
- 泰勒级数:掌握泰勒级数展开的方法
- 傅里叶级数:了解傅里叶级数的基本概念
级数是数学分析的重要工具,在近似计算和函数表示中有广泛应用。
常见级数判别法总结¶
| 判别法 | 适用范围 | 关键公式 |
|---|---|---|
| 比较判别法 | 正项级数 | 与已知级数比较 |
| 比值判别法 | 正项级数 | lim |aₙ₊₁/aₙ| |
| 根值判别法 | 正项级数 | lim √[n]{|aₙ|} |
| 积分判别法 | 正项级数 | 与反常积分比较 |
| 莱布尼茨判别法 | 交错级数 | 单调递减趋于0 |
常见泰勒级数总结¶
| 函数 | 泰勒级数 | 收敛域 |
|---|---|---|
| eˣ | Σ xⁿ/n! | (-∞, +∞) |
| sin x | Σ (-1)ⁿx^(2n+1)/(2n+1)! | (-∞, +∞) |
| cos x | Σ (-1)ⁿx^(2n)/(2n)! | (-∞, +∞) |
| ln(1+x) | Σ (-1)ⁿ⁺¹xⁿ/n | (-1, 1] |
| 1/(1-x) | Σ xⁿ | (-1, 1) |
下一步¶
继续学习第五章:多元函数微积分,学习多元函数的极限、偏导数、重积分等内容。
重点提醒: - 级数收敛的判别法很重要 - 泰勒级数是函数近似的重要工具 - 幂级数的收敛半径需要掌握 - 傅里叶级数在信号处理中有广泛应用