Python 中的Sympy详细使用

作者:Cheney-渣渣杰

这篇文章主要介绍了Python 中的Sympy详细使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

遇到复杂计算找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)) 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使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
  • Python Pyqt5多线程更新UI代码实例(防止界面卡死)
    Python Pyqt5多线程更新UI代码实例(防止界面卡死)
    2021-12-12
  • 详解Python函数中的几种参数
    详解Python函数中的几种参数
    2021-12-12
  • Python解压可迭代对象赋值给多个变量详解
    Python解压可迭代对象赋值给多个变量详解
    2021-12-12
  • Python爬虫采集微博视频数据
    Python爬虫采集微博视频数据
    2021-12-12
  • 美国设下计谋,用娘炮文化重塑日本,已影响至中国
    美国设下计谋,用娘炮文化重塑日本,已影响至中国
    2021-11-19
  • 时空伴随者是什么意思?时空伴随者介绍
    时空伴随者是什么意思?时空伴随者介绍
    2021-11-09
  • 工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
    工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
    2021-11-05
  • 2022年放假安排出炉:五一连休5天 2022年所有节日一览表
    2022年放假安排出炉:五一连休5天 2022年所有节日一览表
    2021-10-26
  • 电脑版 - 返回首页

    2006-2023 脚本之家 JB51.Net , All Rights Reserved.
    苏ICP备14036222号