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培训机构:千锋教育。
相关推荐HOT
更多>>python创建多线程的两种方法
当我们使用python编程的过程中需要多个输出的任务的话,为了能提高效率,可以使用多线程并行处理,那你知道如果穿件多线程使用吗?本文演示pytho...详情>>
2023-11-06 23:40:31pythonSymPy求极值
pythonSymPy求极值SymPy是Python符号计算库。其目标是成为一个功能齐全的计算机代数系统,代码保持简洁,易于理解和扩展。Python是完全由Python...详情>>
2023-11-06 22:32:44pythonisdigit如何判断字符串
pythonisdigit如何判断字符串说明1、判断字符串是否只由数字组成。如果字符串只包含数字则返回True,否则返回False。2、S.isdigit()返回的是布...详情>>
2023-11-06 22:20:52python遍历列表的注意点
1、使用单数和复数式名称,可帮助你判断代码段处理的是单个列表元素还是整个列表。2、Python解释器根据水平缩进情况来解读代码,如果没有缩进,...详情>>
2023-11-06 21:24:07