使用 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)