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电脑。