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
    
    
    上面的代码片段给出了与下面的表达式等效的输出 -
    xsin(x2)+1
    
    
    >>> diff(expr,x)
    
    
    上面的代码片段给出了与下面的表达式等效的输出 -
    2x2cos(x2)+sin(x2)
    
    
    >>> 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)
    
    
    上面的代码片段给出了与下面的表达式等效的输出 -
    2x2cos(x2)+sin(x2)
    使用 Derivative 类创建未求值的导数。它具有与 diff() 函数相同的语法。要评估未评估的导数,请使用 doit 方法。
    
    
    >>> from sympy import Derivative 
    
    >>> d=Derivative(expr) 
    
    >>> d
    
    
    上面的代码片段给出了与下面的表达式等效的输出 -
    ddx(xsin(x2)+1)
    
    
    >>> d.doit()
    
    
    上面的代码片段给出了与下面的表达式等效的输出 -
    2x2cos(x2)+sin(x2)