python系列22:sympy概述
Posted IE06
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python系列22:sympy概述相关的知识,希望对你有一定的参考价值。
1. 概述
sympy是一个数学符号计算库。可使用pip进行安装。
2. 简明使用
1. 基础
基本数据机构是符号(symbols),符号组合成表达式(function)。
-
基本符号库
abc: 所有拉丁、希腊字母库,例如from sympy.abc import x,y
S:预定义数据结构,例如S.One, S.Zero, S.Half, S.true
-
常用函数
symbols: 变量声明。symbols(‘a:5’)表示a_0到a_4;symbols(‘a(1:3)(1:3)’)表示(a11, a12, a21, a22)
sympify: 字符串转变量
evalf:计算表达式浮点数值,例如:expr.evalf(subs=r:5)
,其中subs是表达式赋值计算
Rational:构造分数,例如Rational(1,3)
lambdify:将SymPy表达式转换为NumPy可以使用的函数,例如:f=lambdify([a,b],expr, “numpy”)
2. 多项式计算
factor:分解因式
simplify: 多项式化简
expand:多项式展开,例如expand(x*(x+x**2)*(x+3))
collect:合并同类项
rewrite: 三角函数转换,例如f=tan(x);f.rewrite(sin)
series: 泰勒展开,例如f=sin(x);f.series(x,0,10)
solve:求解方程,例如:solve(x**2+x<10,x)
solve([x**2+y-3,x+y-2],[x,y])
3. 微积分
limit:取极限,例如limit(sin(x)/x, x, 0)
diff:求导,例如diff(x**3,x)
integrate:求积分,例如定积分 integrate(exp(-x**2),(x,0,oo))
或者不定积分integrate(2*x,x)
Derivative、Integral:求导对象、积分对象,使用doit进行计算
dsolve:求解微分方程,例如s=symbols('s',cls=Function);dsolve(s(t).diff(t)-2*t+s(t),s(t))
,可以加入参数ics=s(0):0
4. 线性代数
from sympy.matrices import Matrix:矩阵
Eq:方程对象
solveset:求解方程,例如solveset(Eq(x**2-9,0), x)
linsolve:求解线性方程,例如linsolve([Eq(x-y,4),Eq( x + y ,1) ], (x, y))
nonlinsolve:非线性方程(组)
5. 绘图
plot: 简单2d绘图,例如:plot((f1,(x,-5,5)),(f2,(x,-12,12)),title='对不同表达式分别指定绘图区间范围')
plot3d
以上是关于python系列22:sympy概述的主要内容,如果未能解决你的问题,请参考以下文章