当前位置: 首页 > 图灵资讯 > 行业资讯> Python SymPy求极值

Python SymPy求极值

来源:图灵python
时间: 2024-08-08 16:05:05

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("趋于0的x1为{}}".format(limF))
print("趋于0的x1为{}}".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)
#print(x.subs(x1,2))
#对y求偏导
y=sympy.diff(PD(x1,x2,x3)
#对z求偏导
z=sympy.diff(PD(X1,X2,X3),X3,2)
print("{}\ny的偏导为{}\nz的二次偏导为{}".format(x,y,z))
片

2、建立表达式

不求它,只需要表达式。也就是说,它是一个未计算的(评估),一个表达式。

fromsympyimportLimit,sin,Symbol
fromsympy.abcimportx
Limit(sin(x)/x,x,0)#这是一种不执行计算的表达式
Limit(1/x,x,0,dir='-')#这也是一种表达式,不执行计算

以上是Python Sympy求极值的用法,希望对大家有所帮助。更多Python学习指导:基础教程python基础教程

本文教程操作环境:windows7系统Python 3.9.1,DELL G3电脑。