sympy,一个可以做数学题的Python库

容器MySQLClickHouse

sympy 是 symbolic python 的简称,也就是一个支持代数符号计算的python库。

它可以用来帮助我们解决从初中数学到高等数学的各类问题 ,包括但不限于:

⚫️ 表达式化简,因式分解,方程求解,不等式求解。

⚫️ 求极限,求导,求积分,级数展开,解微分方程,级数求和。

⚫️ 求概率,求期望,方差。

⚫️ 矩阵乘法,求行列式,矩阵求逆,矩阵分解。

本文将先演示sympy的基础使用范例,然后讲解sympy的原理。

公众号算法美食屋后台回复关键词:源码,获取本文notebook源代码~

〇,基本范例演示

picture.image

一,符号和数字

1, 定义符号

可以从 sympy.abc直接导入单字母。

可以用sympy.symbols定义多个符号。

可以用sympy.var 声明符号。

支持希腊字母,支持下标符号。

picture.image

2,定义数字

sympy里的定义的符号数字可以是任意精度的。可以用Integer,Float,Rational等类定义符号数字,也可以用S定义符号数字。

picture.image

3, 获取数值结果

使用sympy.N或者表达式的n()方法,或者evalf()等方法可以将表达式转换成数值结果。

picture.image

二,表达式和函数

1,定义表达式

符号的运算组合构成表达式,表达式是一种树形结构,由 func和args组成,表达式可以嵌套。

含有symbols符号的算式会自动对常见的四则运算和乘方等运算符进行重载。

使用sympy.sympify或者sympy.S可以将字符串转换成对应的表达式。

picture.image

2,定义函数

函数是从一组参数符号到一个表达式的映射。可以用Function定义函数,也可以用sympy.Lambda定义匿名函数,后者通常简单一些。

picture.image

picture.image

3,表达式操控

下面介绍表达式的化简,因式分解,展开,合并同类项,替换 等操作

simplify, factor, expand, collect, apart,together, subs,xreplace, rewrite

picture.image

三,方程和不等式

1,方程求解

方程求解有solve,solveset,linsolve等函数可以使用。

picture.image

2,不等式求解

不等式求解可以使用reduce_inequalities或者solve或者solveset等方法

picture.image

四, 函数可视化

1,plot范例


          
import sympy
          
from sympy import S,pi,exp,log,sin,cos,tan,cot,sqrt
          
import matplotlib 
          
%matplotlib inline 
          
sympy.plot(sin(x) + cos(x), (x, -pi, pi))
      

picture.image

2,plot3d范例


          
import sympy
          
from sympy import S,pi,exp,log,sin,cos,tan,cot,sqrt
          
import matplotlib 
          
%matplotlib inline 
          
sympy.plotting.plot3d(x*exp(-x**2-y**2), (x, -3, 3), (y, -2, 2))
      

picture.image

3,textplot范例

基于纯文本可视化,不需要matplotlib


          
import sympy 
          
from sympy import sin
          
sympy.textplot(sin(t), 0, 15)
      

picture.image

picture.image

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
云原生可观测性技术的落地实践
云原生技术和理念在近几年成为了备受关注的话题。应用通过云原生改造,变得更动态、弹性,可以更好地利用云的弹性能力。但是动态、弹性的环境也给应用以及基础设施的观测带来了更大的挑战。本次分享主要介绍了云原生社区中可观测性相关的技术和工具,以及如何使用这些工具来完成对云原生环境的观测。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论