Python 中Sympy如何使用

Python 中Sympy如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

1、表达式与表达式求值:

#--------多项式求解--------
#定义变量
x=sympy.Symbol'x')
fx=5*x+4
#使用evalf函数传值
y1=fx.evalfsubs={x:6})
printy1)
#多元表达式
x=sympy.Symbol'x')
y=sympy.Symbol'y')
fx=x*x+y*y
result=fx.evalfsubs={x:3,y:4})
printresult)

       2、函数方程求解:

#解方程 有限解
#定义变量
x=sympy.Symbol'x')
y=sympy.Symbol'y')
fx=x*3+9
#可求解直接给出解向量
printsympy.solvefx,x))
#解方程无穷多解
#定义变量
x=sympy.Symbol'x')
y=sympy.Symbol'y')
fx=x*3+y**2
#得到是x与y的关系式,
printsympy.solvefx,x,y))
#解方程组
#定义变量
x=sympy.Symbol'x')
y=sympy.Symbol'y')
f1=x+y-3
f2=x-y+5
sympy.solve[f1,f2],[x,y])

3、求和 

Python 中Sympy如何使用

import sympy
#定义变量
n=sympy.Symbol'n')
f=2*n
#前面参数放函数,后面放变量的变化范围
s=sympy.summationf,n,1,100))
prints)

解带有求和式的方程 :  

Python 中Sympy如何使用   

#解释一下,i可以看做是循环变量,就是x自己加五次
#先定义变量,再写出方程
x=sympy.Symbol'x')
i=sympy.Symbol'i')
f=sympy.summationx,i,1,5))+10*x-15
result=sympy.solvef,x)
printresult)

         4、求极限(注意,math包中sin和很多数学函数会报错,要用sympy中的,无穷大用 sympy.oo 表示)

Python 中Sympy如何使用

#求极限使用limit方法
#定义变量与函数
x=sympy.Symbol'x')
f1=sympy.sinx)/x
f2=1+x)**1/x)
f3=1+1/x)**x
#三个参数是 函数,变量,趋向值
lim1=sympy.limitf1,x,0)
lim2=sympy.limitf2,x,0)
lim3=sympy.limitf3,x,sympy.oo)
printlim1,lim2,lim3)

           5、求导 

#求导使用diff方法
x=sympy.Symbol'x')
f1=2*x**4+3*x+6
#参数是函数与变量
f1_=sympy.difff,x)
printf1_)
 
f2=sympy.sinx)
f2_=sympy.difff2,x)
printf2_)
 
#求偏导
y=sympy.Symbol'y')
f3=2*x**2+3*y**4+2*y
#对x,y分别求导,即偏导
f3_x=sympy.difff3,x)
f3_y=sympy.difff3,y)
printf3_x)
printf3_y)

           6、求定积分

Python 中Sympy如何使用

#求定积分用 integrate方法
x=sympy.Symbol'x')
f=2*x
#参数传入 函数,积分变量和范围
result=sympy.integratef,x,0,1))
printresult)

          上面的求法有点烂,难的就罢工不干了,我丢,还是喜欢scipy,如下: http://liao.cpython.org/scipy18/  scipy 还能解决很多数值计算,包括多重积分。 

from scipy import integrate
def fx):
    return x + 1
v, err = integrate.quadf, 1, 2)# err为误差
print (v)

 以下计算多重积分: 

Python 中Sympy如何使用

#求多重积分,先求里面的积分,再求外面的
x,t=sympy.symbols'x t')
f1=2*t
f2=sympy.integratef1,t,0,x))
result=sympy.integratef2,x,0,3))
printresult)

        7、求不定积分

Python 中Sympy如何使用    

#求不定积分其实和定积分区别不大
x=sympy.Symbol'x')
f=sympy.E**x+2*x)
f_=sympy.integratef,x)
printf_)

         8、数学符合补充:

#数学符合
#虚数单位i
sympy.I
#自然对数低e
sympy.E
#无穷大
sympy.oo
#圆周率
sympy.pi
#求n次方根
sympy.root8,3)
#求对数
sympy.log1024,2)
#求阶乘
sympy.factorial4)
#三角函数
sympy.sinsympy.pi)
sympy.tansympy.pi/4)
sympy.cossympy.pi/2)

         9、公式展开与折叠 

x=sympy.Symbol'x')
#公式展开用expand方法
f=1+2*x)*x**2
ff=sympy.expandf)
printff)
#公式折叠用factor方法
f=x**2+1+2*x
ff=sympy.factorf)
printff)

         10、公式分离与合并(分数的分离与合并)

x=sympy.Symbol'x')
y=sympy.Symbol'y')
#公式展开用apart方法,和expand区别不是很大,常用于分数进行分离
f=x+2)/x+1)
ff=sympy.apartf)
printff)
#公式折叠用tegother方法
f=1/x+1/y)
ff=sympy.togetherf)
printff)

11、表达式简化

#simplify )普通的化简
simplifyx**3 + x**2 - x - 1)/x**2 + 2*x + 1))
#trigsimp )三角化简
trigsimpsinx)/cosx))
#powsimp )指数化简
powsimpx**a*x**b)

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注