sympy库的简单应用

解线性方程组

solve([f1,f2,f...],[x1,x2,x...]),其中,须将使方程组右端为0,即相当与解{f1=0,f2=0...fn=0}这样一个方程组

from sympy import *
'''导入sympy模块'''
x=Symbol('x')
y=Symbol('y')
n=Symbol('n')                               #"符号"化变量
print solve([2*x-y-3,3*x+y-7],[x,y])           #解线性方程

result:{x: 2, y: 1}

求极限函数

limit(fx,x,n) 其中fx为所求极限函数,x为变化量,n为趋势。
以及:
无穷大 oo(两个o)
π pi
加号 +
减号 -
除号 /
乘号 *
指数 **
对数 log()
e的指数次幂 exp()
开方函数 sqrt()

print limit(1/(x**2),x,0)
print limit(x*(sqrt(x**2+1)-x),x,oo)
s=((n+3)/(n+2))**n
print limit(s,n,oo)                            #求极限
print integrate(6*x**5,x)


result:
    oo
    1/2
    E
    x**6

求积分

定积分函数integrate(fx,(x,a,b))
不定积分函数integrate(fx,x)
fx为积分函数,x为积分变量,a、b分别为积分上、下限。


sympy库的简单应用_第1张图片
wm.png
t=Symbol('t')
m=integrate(sin(t)/(pi-t),(t,0,x))
pprint(m)
n=integrate(m,(x,0,pi))
print n                                        

微分方程

sympy库的简单应用_第2张图片
wm.jpg
f=Function('f')                 #函数化变量

f=dsolve(diff(f(x),x)-2*x*f(x),f(x))
print  f

result:C1*exp(x**2))

矩阵化简

sympy库的简单应用_第3张图片
额外人.png
from sympy import *
x1,x2,x3 = symbols('x1 x2 x3')
a11,a12,a13,a22,a23,a33 = symbols('a11 a12 a13 a22 a23 a33')
m = Matrix([[x1, x2, x3]])
n = Matrix([[a11, a12, a13], [a12, a22, a23], [a13, a23, a33]])
v = Matrix([[x1], [x2], [x3]])
f = m * n * v
print f[0].subs({x1:1, x2:1, x3:1})

resulta11 + 2*a12 + 2*a13 + a22 + 2*a23 + a33

你可能感兴趣的:(sympy库的简单应用)