简述
函数的导数是它相对于其中一个变量的瞬时变化率。这相当于求函数在某一点的切线斜率。我们可以使用 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$$
上面的代码片段给出了与下面的表达式等效的输出 -
$$2x^2\cos(x^2) + \sin(x^2)$$
上面的代码片段给出了与下面的表达式等效的输出 -
2xex2
要获取多个导数,请尽可能多地传递变量,或者在变量后传递一个数字。
上面的代码片段给出了与下面的表达式等效的输出 -
$$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)$$
上面的代码片段给出了与下面的表达式等效的输出 -
$$2x^2\cos(x^2) + \sin(x^2)$$