python对函数值求导和求值
from sympy import *
x, y = symbols('x, y')
z = x ** 3 + y ** 3 + x * y + 3
print(z)
result = z.subs({x: 2, y: 2}) # 用数值分别对x、y进行替换
print(result)
dx = diff(z, x) # 对x求偏导
print(dx)
result = dx.subs({x: 2, y: 2})
print(result)
dy = diff(z, y) # 对y求偏导
print(dy)
result = dy.subs({x: 2, y: 2})
print(result)
输出
x**3 + x*y + y**3 + 3
23
3*x**2 + y
14
x + 3*y**2
14
subs函数可以将算式中的符号进行替换,它有3种调用方式:
- expression.subs(x, y) : 将算式中的x替换成y
- expression.subs({x:y,u:v}) : 使用字典进行多次替换
- expression.subs([(x,y),(u,v)]) : 使用列表进行多次替换