使用 Sympy 在 Python 中计算偏导数

Neema Muganga 2022年5月17日
使用 Sympy 在 Python 中计算偏导数

偏导数是具有两个或多个其他变量而不是一个变量的函数的导数。因为函数依赖于几个变量,所以导数转换为偏导数。

例如,如果存在函数 f(b,c),该函数取决于两个变量 bc,其中这两个变量彼此独立。然而,该函数部分依赖于 bc。因此,为了计算 f 的导数,这个导数将被称为 偏导数。如果参照 b 对 f 函数进行微分,则将使用 c 作为常数。否则,如果针对 c 对 f 进行微分,则会将 b 作为常数。

在 Python 中,Sympy 模块用于计算数学函数中的偏导数。该模块使用符号来执行所有不同类型的计算。它还可用于求解方程、简化表达式、计算导数和极限以及其他计算。

Sympy 需要手动安装才能使用。因此,cd 到你的计算机终端并运行以下命令来安装 sympy 包。

pip install sympy

要使用 sympy 计算偏导数,你首先需要从符号导入 sympy 包。

计算机评估值的计算与将它们写在一张纸上的方式不同。因此,这里的符号将以变量的形式保存要评估的实际值。因此,在计算过程中,计算机将变量操作为它所附加的值。

现在,让我们使用以下示例来推导函数的偏导数。

f(a, b, c) = 5ab - acos(c)+ a^2 + c^8b
    part_deriv(function = f, variable = a)    

将函数微分到其偏导数后的预期输出是 2*a + 5*b - cos(c)

为了评估上述函数的偏导数,我们根据 a 对该函数进行微分,而 bc 将是常数。

from sympy import symbols, cos, diff

a, b, c = symbols("a b c", real=True)
f = 5 * a * b - a * cos(c) + a ** 2 + c ** 8 * b

# differntiating function f in respect to a
print(diff(f, a))

输出:

2*a + 5*b - cos(c)