Python 实现自动求导:原理与实践
1. 导数规则基础
在微积分中,复合函数求导遵循链式法则。若函数 $f(x)$ 可表示为 $f(x) = g(h(x))$,则其导数为 $f’(x) = h’(x) · g’(h(x))$。例如,求 $\ln(\cos(x))$ 的导数,已知 $g’(x) = 1/x$,$h’(x) = -\sin(x)$,代入链式法则可得:
$f’(x) = h’(x) · g’(h(x)) = -\sin(x) · \frac{1}{\cos(x)} = -\frac{\sin(x)}{\cos(x)}$
又因为 $\frac{\sin(x)}{\cos(x)} = \tan(x)$,所以 $\ln(\cos(x))$ 的导数可简洁表示为 $\tan(x)$。
2. 练习题解析
2.1 验证 $f(x) = x^5$ 的导数
要证明 $f(x) = x^5$ 的导数为 $f’(x) = 5x^4$,可通过绘制数值导数和符号导数的图像进行验证。代码如下:
def p(x):
return x**5
plot_function(derivative(p), 0, 1)
plot_function(lambda x: 5*x**4, 0, 1)
运行上述代码后,两个图像会完全重叠,从而验证了导数的正确性。
2.2 证明求导是线性变换
将单变量函数视为向量空间,若把求导看作函数 $D$,它以函数为输入,输出其导数。对于函数 $f$ 和 $g$,
Python自动求导的实现与应用
超级会员免费看
订阅专栏 解锁全文
19

被折叠的 条评论
为什么被折叠?



