pythonSymPy求極值
SymPy是Python符號計算庫。其目標是成為一個功能齊全的計算機代數系統,代碼保持簡潔,易于理解和擴展。Python是完全由Python編寫的,不依賴外部庫。
1、求、求導、求偏導以及帶值求導
importsympy
#求
#設置符號變量Symbol只能創建一個變量symbols可一次定義多個變量
x1,x2,x3,x4=sympy.symbols('x1,x2,x3,x4')
#創建函數建立方程式
defF(t):
returnsympy.sin(t)/t
defN(t):
return(x1**3+3*x1**2+1)/(4*x1**3+2*+3)
#調用limit求
limF=sympy.limit(F(x1),x1,0)
limN=sympy.limit(N(x1),x1,sympy.oo)
print("x1趨于0的為{}".format(limF))
print("x1趨于0的為{}".format(limN))
#求導
#創建求導函數
defS(t):
returnsympy.sec(t)#正割
defS1(x):
return2*x**4+2
#調用diff函數求導
s=sympy.diff(S(x1),x1).subs(x1,1)#subs帶值求導
print('S在1處的導數為{}'.format(s))
#求多階導數2階
s1=sympy.diff(S1(x1),x1,2)
#帶值計算
print("S1的二階導數{}帶入值2計算為{}".format(s1,s1.subs(x1,2)))
#建立求偏導函數
defPD(x,y,z):
returnsympy.sin(x+pow(y,2)-sympy.exp(z))
#對x求偏導
x=sympy.diff(PD(x1,x2,x3),x1)
#print(x.subs(x1,2))
#對y求偏導
y=sympy.diff(PD(x1,x2,x3),x2)
#對z求偏導
z=sympy.diff(PD(x1,x2,x3),x3,2)
print("x的偏導為{}\ny的偏導為{}\nz的二次偏導為{}".format(x,y,z))
片
2、建立表達式
不求其,只需要表達式。也就是說是一個未計算(評估)的,是一個表達式。
fromsympyimportLimit,sin,Symbol
fromsympy.abcimportx
Limit(sin(x)/x,x,0)#這是一個表達式,不執行計算
Limit(1/x,x,0,dir='-')#這也是一個表達式,不執行計算
以上就是PythonSymPy求極值的用法,希望對大家有所幫助。更多Python學習教程請關注IT培訓機構:千鋒教育。