📜  SymPy-导数

📅  最后修改于: 2020-11-05 04:43:51             🧑  作者: Mango


函数的导数是其相对于变量之一的瞬时变化率。这等效于找到一个点到函数的切线的斜率。我们可以通过使用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)

上面的代码片段给出的输出等于下面的表达式-

2xe x 2

要采用多个导数,请根据需要多次传递变量,或在变量后传递数字。

>>> 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)$

通过使用派生类创建未评估的派生。它具有与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)$