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)]) : 使用列表進行多次替換