SymPy-デリバティブ

関数の導関数は、その変数の1つに対する瞬間的な変化率です。これは、ある点で関数の接線の傾きを見つけることと同じです。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)$