📅  最后修改于: 2023-12-03 15:38:06.265000             🧑  作者: Mango
Sympy 是 Python 中用于数学符号计算的库,其中包含了许多用于求函数导数的函数。使用 Sympy 求导可以避免手动计算导数时产生的繁琐和容易出错。下面我们来介绍如何使用 Sympy 进行派生。
首先,我们需要安装 Sympy 库。可以直接使用 pip 进行安装:
!pip install sympy
我们可以通过 sympy.symbols()
函数来定义符号变量。例如,定义变量 x 和 y:
import sympy
x, y = sympy.symbols('x y')
使用 sympy.diff()
函数可以对函数进行求导。例如,求函数 f(x) = x^2 的导数:
f = x**2
sympy.diff(f)
输出:
2*x
也可以指定求导的阶数:
f = x**3 + 2*x**2 + 3*x + 4
sympy.diff(f, x, 2) # 求二阶导数
输出:
6*x + 4
与一元函数类似,对于多元函数,我们也可以使用 Sympy 求偏导数。例如,对于函数 f(x, y) = x^2 + y^2,我们可以求出其相对于 x 和 y 的偏导数:
f = x**2 + y**2
sympy.diff(f, x) # 对 x 求偏导数
sympy.diff(f, y) # 对 y 求偏导数
输出:
2*x
2*y
还可以求出交叉偏导数:
f = x**2 + y**2
sympy.diff(f, x, y) # 对 x 求偏 y 的偏导数
sympy.diff(f, y, x) # 对 y 求偏 x 的偏导数
输出:
0
0
有时候我们需要求解不是一个具体函数,而是一个表达式的导数。此时,我们可以将表达式转换为符号变量,再使用 sympy.diff()
函数进行求导。例如,对于表达式 f = 'x**2 + 2*x + 1':
f_ = eval(f) # 将字符串转换为可执行的表达式
f_sym = sympy.sympify(f) # 将表达式转换为符号变量
sympy.diff(f_sym, x) # 对 x 求导
输出:
2*x + 2
使用 Sympy 求导可以极大地减轻手动计算导数所带来的繁琐和容易出错,因此在数学计算和科学计算中使用 Sympy 是非常方便和实用的。