SymPy - 導數



函式的導數是其關於其中一個變數的瞬時變化率。這等效於求函式在某一點的切線的斜率。我們可以使用SymPy包中的diff()函式來求變數形式的數學表示式的導數。

diff(expr, variable)
>>> from sympy import diff, sin, exp 
>>> from sympy.abc import x,y 
>>> expr=x*sin(x*x)+1 >>> expr

以上程式碼片段給出的輸出等效於以下表達式:

$x\sin(x^2) + 1$

>>> diff(expr,x)

以上程式碼片段給出的輸出等效於以下表達式:

$2x^2\cos(x^2) + \sin(x^2)$

>>> diff(exp(x**2),x)

以上程式碼片段給出的輸出等效於以下表達式:

2xex2

要進行多次求導,可以根據需要多次傳遞變數,或者在變數後傳遞一個數字。

>>> diff(x**4,x,3)

以上程式碼片段給出的輸出等效於以下表達式:

$24x$

>>> for i in range(1,4): print (diff(x**4,x,i))

以上程式碼片段給出以下表達式:

4*x**3

12*x**2

24*x

也可以呼叫表示式的diff()方法。它的作用與diff()函式類似。

>>> expr=x*sin(x*x)+1 
>>> expr.diff(x)

以上程式碼片段給出的輸出等效於以下表達式:

$2x^2\cos(x^2) + \sin(x^2)$

可以使用Derivative類建立未計算的導數。它的語法與diff()函式相同。要計算未計算的導數,請使用doit方法。

>>> from sympy import Derivative 
>>> d=Derivative(expr) 
>>> d

以上程式碼片段給出的輸出等效於以下表達式:

$\frac{d}{dx}(x\sin(x^2)+1)$

>>> d.doit()

以上程式碼片段給出的輸出等效於以下表達式:

$2x^2\cos(x^2) + \sin(x^2)$

廣告
© . All rights reserved.