高阶导数与曲率
1. 高阶导数的定义和计算
-
高阶导数:高阶导数是函数导数的重复应用。若函数 f ( x ) f(x) f(x) 有一阶导数,则可以继续对一阶导数进行求导,得到二阶导数,三阶导数,依此类推。一般来说,若函数 f ( x ) f(x) f(x) 的 n n n 阶导数存在,则记作 f ( n ) ( x ) f^{(n)}(x) f(n)(x)。
例子:
对于函数 f ( x ) = x 3 − 3 x 2 + 2 x f(x) = x^3 - 3x^2 + 2x f(x)=x3−3x2+2x,其一阶导数为:f ′ ( x ) = 3 x 2 − 6 x + 2 f'(x) = 3x^2 - 6x + 2 f′(x)=3x2−6x+2
二阶导数为:
f ′ ′ ( x ) = 6 x − 6 f''(x) = 6x - 6 f′′(x)=6x−6
对于更高阶的导数,我们继续对函数进行求导。
2. 函数的凹凸性和极值
-
二阶导数法则:二阶导数不仅可以帮助我们判断函数的凹凸性,还可以用来寻找极值。
- 如果 f ′ ′ ( x ) > 0 f''(x) > 0 f′′(x)>0,则函数在该点是凹向上的,即该点是局部最小值。
- 如果 f ′ ′ ( x ) < 0 f''(x) < 0 f′′(x)<0,则函数在该点是凹向下的,即该点是局部最大值。
- 如果 f ′ ′ ( x ) = 0 f''(x) = 0 f′′(x)=0,则无法直接判断,需要进一步的分析。
-
函数的凸性、凹性:一个函数在某区间内是凸的,如果该区间内的所有点都满足 f ′ ′ ( x ) ≥ 0 f''(x) \geq 0 f′′(x)≥0;是凹的,如果该区间内的所有点都满足 f ′ ′ ( x ) ≤ 0 f''(x) \leq 0 f′′(x)≤0。
例子:对于函数 f ( x ) = x 3 − 3 x 2 + 2 x f(x) = x^3 - 3x^2 + 2x f(x)=x3−3x2+2x,我们有:
- f ′ ( x ) = 3 x 2 − 6 x + 2 f'(x) = 3x^2 - 6x + 2 f′(x)=3x2−6x+2
- f ′ ′ ( x ) = 6 x − 6 f''(x) = 6x - 6 f′′(x)=6x−6
若 x = 1 x = 1 x=1,则 f ′ ′ ( 1 ) = 0 f''(1) = 0 f′′(1)=0,该点为临界点,需要进一步分析其性质。
3. 泰勒级数
-
泰勒多项式:泰勒多项式是一种近似表示函数的工具,可以用多项式来近似一个函数。泰勒多项式基于函数在某点的导数值,通过多项式展开逼近函数。
泰勒多项式的公式为:
P n ( x ) = f ( a ) + f ′ ( a ) ( x − a ) + f ′ ′ ( a ) 2 ! ( x − a ) 2 + ⋯ + f ( n ) ( a ) n ! ( x − a ) n P_n(x) = f(a) + f'(a)(x - a) + \frac{f''(a)}{2!}(x - a)^2 + \cdots + \frac{f^{(n)}(a)}{n!}(x - a)^n Pn(x)=f(a)+f′(a)(x−a)+2!f′′(a)(x−a)2+⋯+n!f(n)(a)(x−a)n
其中, f ( n ) ( a ) f^{(n)}(a) f(n)(a) 是函数在点 a a a 处的 n n n 阶导数。
-
泰勒定理:泰勒定理提供了一个更准确的公式来估计误差,给出了泰勒多项式在某点的近似误差:
R n ( x ) = f ( n + 1 ) ( c ) ( n + 1 ) ! ( x − a ) n + 1 R_n(x) = \frac{f^{(n+1)}(c)}{(n+1)!}(x - a)^{n+1} Rn(x)=(n+1)!f(n+1)(c)(x−a)n+1
其中, R n ( x ) R_n(x) Rn(x) 是余项,表示误差。
4. 课堂活动设计
活动案例 1:计算某些函数的二阶导数,并讨论其在某一点的曲率
- 给定函数 f ( x ) = x 4 − 4 x 3 + 6 x 2 − 3 x + 1 f(x) = x^4 - 4x^3 + 6x^2 - 3x + 1 f(x)=x4−4x3+6x2−3x+1,请学生计算该函数的二阶导数,并讨论其在 x = 1 x = 1 x=1 处的曲率。
计算过程:
-
计算一阶导数:
f ′ ( x ) = 4 x 3 − 12 x 2 + 12 x − 3 f'(x) = 4x^3 - 12x^2 + 12x - 3 f′(x)=4x3−12x2+12x−3
-
计算二阶导数:
f ′ ′ ( x ) = 12 x 2 − 24 x + 12 f''(x) = 12x^2 - 24x + 12 f′′(x)=12x2−24x+12
-
代入 x = 1 x = 1 x=1 计算二阶导数:
f ′ ′ ( 1 ) = 12 ( 1 ) 2 − 24 ( 1 ) + 12 = 0 f''(1) = 12(1)^2 - 24(1) + 12 = 0 f′′(1)=12(1)2−24(1)+12=0
由于 f ′ ′ ( 1 ) = 0 f''(1) = 0 f′′(1)=0,我们需要进一步分析该点的性质。
活动案例 2:讨论利用泰勒公式来近似复杂函数
- 计算函数 f ( x ) = e x f(x) = e^x f(x)=ex 在 x = 0 x = 0 x=0 处的泰勒多项式的前 3 项,并讨论它如何近似 e x e^x ex 的值。
计算过程:
-
计算 f ( x ) = e x f(x) = e^x f(x)=ex 的导数:
- f ( 0 ) = 1 f(0) = 1 f(0)=1
- f ′ ( 0 ) = 1 f'(0) = 1 f′(0)=1
- f ′ ′ ( 0 ) = 1 f''(0) = 1 f′′(0)=1
- f ( 3 ) ( 0 ) = 1 f^{(3)}(0) = 1 f(3)(0)=1
-
泰勒多项式前 3 项为:
P 2 ( x ) = 1 + x + x 2 2 ! + x 3 3 ! P_2(x) = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} P2(x)=1+x+2!x2+3!x3
-
通过该多项式近似 e x e^x ex:
- 当 x = 1 x = 1 x=1 时, P 2 ( 1 ) = 1 + 1 + 1 2 2 ! + 1 3 3 ! = 2.6667 P_2(1) = 1 + 1 + \frac{1^2}{2!} + \frac{1^3}{3!} = 2.6667 P2(1)=1+1+2!12+3!13=2.6667,而 e 1 ≈ 2.7183 e^1 \approx 2.7183 e1≈2.7183,近似值误差较小。
5. Python 实现示例
下面是一个 Python 示例,演示如何计算二阶导数并绘制函数的曲率。
import sympy as sp
import numpy as np
import matplotlib.pyplot as plt
# 定义符号变量
x = sp.symbols('x')
# 定义函数 f(x)
f = x**4 - 4*x**3 + 6*x**2 - 3*x + 1
# 计算一阶导数和二阶导数
f_prime = sp.diff(f, x)
f_double_prime = sp.diff(f_prime, x)
# 输出导数
print(f"f'(x) = {f_prime}")
print(f"f''(x) = {f_double_prime}")
# 绘制函数图像和曲率
f_lambdified = sp.lambdify(x, f, 'numpy')
f_double_prime_lambdified = sp.lambdify(x, f_double_prime, 'numpy')
x_vals = np.linspace(-2, 3, 400)
y_vals = f_lambdified(x_vals)
y_double_prime_vals = f_double_prime_lambdified(x_vals)
plt.figure(figsize=(10, 6))
plt.plot(x_vals, y_vals, label=r'$f(x) = x^4 - 4x^3 + 6x^2 - 3x + 1$')
plt.plot(x_vals, y_double_prime_vals, label=r"$f''(x)$ (曲率)", linestyle='--')
plt.title("函数 f(x) 和二阶导数(曲率)")
plt.xlabel("x")
plt.ylabel("y")
plt.legend()
plt.grid(True)
plt.show()
该代码将计算函数 f ( x ) = x 4 − 4 x 3 + 6 x 2 − 3 x + 1 f(x) = x^4 - 4x^3 + 6x^2 - 3x + 1 f(x)=x4−4x3+6x2−3x+1 的一阶和二阶导数,并绘制其图像,展示曲率的变化。
6. 总结
通过这节课的学习,学生将能够:
- 理解高阶导数及其计算方法。
- 使用二阶导数判断函数的凹凸性和极值。
- 通过泰勒级数来近似复杂函数,并分析误差。
- 运用 Python 计算二阶导数并绘制曲率图像。