📅  最后修改于: 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)$