sympy 求导,并带入值进行计算

python 中的sympy 包能实现 表达式的求导。本文主要包含内容为:

  1. scipy 求导数
  2. sympy  表达式求导
  3. sympy 带入值计算

scipy求导

scipy 能够直接对函数求导,缺点是需要无法保存导数的表达式,每次带入值计算,需要重复求导。

import numpy as np
from scipy.misc import derivative
def f(x):
    return x**5
for x in range(1, 4):
# 直接求导
    print(derivative(f, x, dx=1e-6))

sympy  表达式求导

sympy 能够实现表达式的求导

from sympy import *
def sympy_derivative():
    # 定义表达式的变量名称
    x1, x2 = symbols('x1 x2')
    # 定义表达式内容
    Y = x1**2 +x2**2
    # 计算 x2对应的偏导数
    return diff(Y, x2)

sympy 带入值计算

func = sympy_derivative()
print(func) # 输出结果2*x2
print(func.evalf(subs ={'x2':6})) # 把x2 等于6 带入计算 结果 为12 

其中 func.evalf(subs={}) 为特征值带入计算的api,需特殊说明的是,该函数运行结果,可能还只是表达式,其主要是求解已经给的特征值

func = sympy_derivative()
print(func) # 输出结果2*x2
print(func.evalf(subs ={'x1':6})) # 把x1 等于6 带入计算 结果 为2*x2 

 

你可能感兴趣的:(python)