pythonSymPy求极值

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培训机构:千锋教育。

申请14天超长免费试听资格
获取500G教程资料
姓名
电话
课程
立即申请