遇到杂乱核算找python肯定不让你绝望,sympy是一个Python的科学核算库,用一套强壮的符号核算系统完结比如多项式求值、求极限、解方程、求积分、微分方程、级数打开、矩阵运算等等核算问题。尽管Matlab的相似科学核算才能也很强壮,可是Python以其语法简略、易上手、反常丰厚的三方库生态,个人认为能够更高雅地处理日常遇到的各种核算问题。安装在本博客就不细讲了!
1、表达式与表达式求值:
#--------多项式求解-------- #界说变量 x=sympy.Symbol('x') fx=5*x+4 #运用evalf函数传值 y1=fx.evalf(subs={x:6}) print(y1)
#多元表达式 x=sympy.Symbol('x') y=sympy.Symbol('y') fx=x*x+y*y result=fx.evalf(subs={x:3,y:4}) print(result)
2、函数方程求解:
#解方程 有限解 #界说变量 x=sympy.Symbol('x') y=sympy.Symbol('y') fx=x*3+9 #可求解直接给出解向量 print(sympy.solve(fx,x))
#解方程无量多解 #界说变量 x=sympy.Symbol('x') y=sympy.Symbol('y') fx=x*3+y**2 #得到是x与y的关系式, print(sympy.solve(fx,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、求和
import sympy #界说变量 n=sympy.Symbol('n') f=2*n #前面参数放函数,后边放变量的改变规模 s=sympy.summation(f,(n,1,100)) print(s)
解带有求和式的方程 :
#解释一下,i能够看做是循环变量,便是x自己加五次 #先界说变量,再写出方程 x=sympy.Symbol('x') i=sympy.Symbol('i') f=sympy.summation(x,(i,1,5))+10*x-15 result=sympy.solve(f,x) print(result)
4、求极限(留意,math包中sin和许多数学函数会报错,要用sympy中的,无量大用 sympy.oo 表明)
#求极限运用limit办法 #界说变量与函数 x=sympy.Symbol('x') f1=sympy.sin(x)/x f2=(1+x)**(1/x) f3=(1+1/x)**x #三个参数是 函数,变量,趋向值 lim1=sympy.limit(f1,x,0) lim2=sympy.limit(f2,x,0) lim3=sympy.limit(f3,x,sympy.oo) print(lim1,lim2,lim3)
5、求导
#求导运用diff办法 x=sympy.Symbol('x') f1=2*x**4+3*x+6 #参数是函数与变量 f1_=sympy.diff(f,x) print(f1_) f2=sympy.sin(x) f2_=sympy.diff(f2,x) print(f2_) #求偏导 y=sympy.Symbol('y') f3=2*x**2+3*y**4+2*y #对x,y别离求导,即偏导 f3_x=sympy.diff(f3,x) f3_y=sympy.diff(f3,y) print(f3_x) print(f3_y)
6、求定积分
#求定积分用 integrate办法 x=sympy.Symbol('x') f=2*x #参数传入 函数,积分变量和规模 result=sympy.integrate(f,(x,0,1)) print(result)
上面的求法有点烂,难的就停工不干了,我丢,仍是喜爱scipy,如下: http://liao.cpython.org/scipy18/ scipy 还能处理许多数值核算,包含多重积分。
from scipy import integrate def f(x): return x + 1 v, err = integrate.quad(f, 1, 2)# err为差错 print (v)
以下核算多重积分:
#求多重积分,先求里边的积分,再求外面的 x,t=sympy.symbols('x t') f1=2*t f2=sympy.integrate(f1,(t,0,x)) result=sympy.integrate(f2,(x,0,3)) print(result)
7、求不定积分
#求不定积分其实和定积分差异不大 x=sympy.Symbol('x') f=(sympy.E**x+2*x) f_=sympy.integrate(f,x) print(f_)
8、数学契合弥补:
#数学契合 #虚数单位i sympy.I #自然对数低e sympy.E #无量大 sympy.oo #圆周率 sympy.pi #求n次方根 sympy.root(8,3) #求对数 sympy.log(1024,2) #求阶乘 sympy.factorial(4) #三角函数 sympy.sin(sympy.pi) sympy.tan(sympy.pi/4) sympy.cos(sympy.pi/2)
9、公式打开与折叠
x=sympy.Symbol('x') #公式打开用expand办法 f=(1+2*x)*x**2 ff=sympy.expand(f) print(ff) #公式折叠用factor办法 f=x**2+1+2*x ff=sympy.factor(f) print(ff)
10、公式别离与兼并(分数的别离与兼并)
x=sympy.Symbol('x') y=sympy.Symbol('y') #公式打开用apart办法,和expand差异不是很大,常用于分数进行别离 f=(x+2)/(x+1) ff=sympy.apart(f) print(ff) #公式折叠用tegother办法 f=(1/x+1/y) ff=sympy.together(f) print(ff)
11、表达式简化
#simplify( )一般的化简 simplify((x**3 + x**2 - x - 1)/(x**2 + 2*x + 1)) #trigsimp( )三角化简 trigsimp(sin(x)/cos(x)) #powsimp( )指数化简 powsimp(x**a*x**b)
到此这篇关于Python 中的Sympy具体运用的文章就介绍到这了,更多相关Python Sympy运用内容请查找脚本之家曾经的文章或持续阅读下面的相关文章期望我们今后多多支撑脚本之家!