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)
上面的代码片段输出与下面的表达式等效−
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)
使用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)