python2.7除法_Python2.7安装sympy模块

news/2023/6/8 7:04:30

SymPy是Python版的开源计算机代数系统实现,是使用纯Python代码,没有第三方库。SymPy开发是Ondrej Certik从2006年8月开始的,此后不断有开发者加入项目,规模达到几百人。现在这个程序库包括26个模块,可以满足常用的计算需求,如符号计算、积分、代数、离散数学、量子物理、画图与打印等,计算结果输出为LaTeX或其他格式。

SymPy程序库分为一个核心模块和多个高级可选模块:

·Assumptions:假设引擎

·Concrete:符号积和符号总和

·Core basic class structure:基本的,及加、乘、指数等

·Functions:基本的函数和特殊的函数

·Galgebra:几何代数

·Geometry:几何实体

·Integrals:符号积分

·Interactive:交互会话

·Logic:布尔代数和定理证明

·Matrices:线性代数和矩阵

·mpmath:快速的任意精度的数值运算

·ntheory:数论函数

·Parsing:数学的和最大化的句法分析

·Physics:物理单位和量子相关

·Plotting:用Pyglet进行二维和三维画图

·Polys:多项式代数和因式分解

·Printing:漂亮的打印和代码生成

·Series:符号极限和截断的序列

·Simplify:用其他形式改写表达式

·Solvers:代数、循环和差分

·Statistics:标准概率分布

·Utilities:测试架构和兼容性相关的内容

SymPy包括很多功能,从基本符号算术到多项式、微积分、求解方程、离散数学、几何、统计和物理,主要处理整型数据、实数和有理数三种类型数据,整数是不带小数点的数字,实数是带小数点的数字,有理数包括分子和分母,用Ration类定义有理数,该类需要两个数字。SymPy的核心功能是基本的算术、扩展、简化、替换、模式匹配和各种函数。

这一部分,我们分19次课来完成讲解

今天先完成模块的安装。

因为我们之前已经完成了pip的安装,所以,不用下载sympy模块,直接使用pip进行安装。

4b90f603738da9770c373e47f840051c8618e35d.jpeg?token=341e80a62eb073466fef313b7545495f&s=0C66EB0353ECB34D5E515C0B0000A0C3

安装完成后,重新在cmd模式下启动python

执行导入第三方模块的操作

from __future__ import division

from sympy import *

4034970a304e251f1b0e25309f9734127e3e5310.jpeg?token=385553373e3e12d3e9ea3731f2be9382

没有任何提示,成功!

1. 符号、表达式和基本运算:

1)符号的定义:

在SymPy中,在任何表达式中使用符号前,必须先定义该符号,定义符号只需要用Symbol类中的symbol来定义一个符号即可。示例:

from __future__ import division

from sympy import *

x,y,z,t = symbols('x y z t')

k,m,n = symbols('k m n', integer=True)

k,f,g = symbols('f g h', cls = Function)

这段程序首先将Python中的除法操作符“/”从整数除法改为普通除法,

然后从sympy库载入所有符号;

然后定义了4个普通符号,x,y,z,t

然后定义了3个整数的符号,k,m,n

然后定义了表示数学函数的符号,f,g,h

2)将SymPy对象的数值转换为近似浮点值:

可以用evalf()和n()来获得任何对象的浮点近似值,默认的精度是15位有效数字,而且可以通过调整参数改为任何想要的精度。示例:

from __future__ import division

from sympy import sin,pi

x=sin(50)

print(pi.evalf())

print(pi.evalf(50)) # 50位有效数字

print(x.n())

print(x.n(20)) # 20位有效数字

3)表达式的常用操作:

表达式可以使用collect、expand、factor、simplify和subs等操作。示例:

from sympy import collect,expand,factor,simplify

from sympy import Symbol,symbols

from sympy import sin,cos

x,y,a,b,c,d=symbols('x y a b c d')

expr=5*x**2+2*b*x**2+cos(x)+51*x**2

simplify(expr)

factor(x**2+x-30)

expand((x-5)*(x+6))

collect(x**3+a*x**2+b*x**2+c*x+d,x)

expr=sin(x)*sin(x)+cos(x)*cos(x)

print(expr)

print(expr.subs({x:5,y:25}))

print(expr.subs({x:5,y:25}).n())

最后我们计算欧拉恒等式

b3119313b07eca80cbc773f9ac326ad8a0448381.jpeg?token=9e598978a8edaa93861d83d6e9f7dd95&s=AF4EA15F43EEDCEB4EFC61DE030080B1

8644ebf81a4c510f6c7b8d7f2148d828d42aa52b.jpeg?token=002219eb5ea2eeeb75defc621b75f2cb&s=2DC33A6EEFA597700ED1BC07000080C1


https://dhexx.cn/news/show-16799.html

相关文章

python try用法_try,raise等的python的使用方法介绍

正常写代码时会遇到错误,导致错误之后代码无法继续(错了为啥还要继续……界面友好呗,别让别人用着用着崩溃了……)。所以提出了try...except(这个java的tyy...catch很像)。一个try至少带一个except&#xf…

linux命令监控dubbo请求,linux dubbo monitor监控中心安装

1.环境配置2.下载dubbo监控中心代码dubbo monitor监控中心代码下载地址:https://github.com/apache/incubator-dubbo/releases,找到dubbo-2.6.0并下载(可能并不是按版本号顺序所以要在下面找一找)3.编译打包dubbo monitor解压下载的dubbo-2.6.0.tar.gz&a…

summernote 字体名字不显示_王者荣耀怎么在游戏中输入空白名字 王者荣耀空白代码一览...

王者荣耀空白代码是什么?在王者荣耀中很多玩家都想使用空白的游戏名字却不知道该如何输入,下面就是小编为大家带来的空白代码了,不知道如何在游戏中输入空白名字的小伙伴们一起来看看吧!王者荣耀空白代码是什么方法一:…

linux补全文件名的快捷键,linux :补全,快捷键,history,alias,变量,管道,命令通配符等...

linux bash基础特性linux基础特性1 补全系统支持的shell:#cat/etc/shells当前系统默认shell:#echo $SHELL命令补全:若给定的字符能够在系统中唯一的标识某个命令程序文件,按tab键,则能直接补全命令;如果不能…

LeetCode Median of Two Sorted Arrays

原题链接在这里:https://leetcode.com/problems/median-of-two-sorted-arrays/ 题目: There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should…

无法打开元数据文件_数据文件安全的重要性。在M国搭建的网络上,安全吗?...

文档数据安全一直是电子办公中比较重视的一个环节,而不同的企业采取了很多不一样的措施来保护电子文档,比如传统说的物理隔绝方式,或者内网模式,都是想从根源上杜绝数据泄密,但是随着网络变相攻击和内部人员因素&#…

linux上传文件命令是什么,linux上传文件命令_linux上传下载文件命令

最近在服务器上面上传下载文件,为了方便安装了一个小工具lrzsz,这个工具的使用是有一定的限制的,只能在xshell中使用,接下来吾爱编程就为大家介绍一下linux上面使用lrzsz上传下载文件,有需要的小伙伴可以参考一下&…

Android 自绘TextView解决提前换行问题,支持图文混排

先看下效果图: 上面是MTextView,下面是默认的TextView。 一、原因 用最简单的全英文句子为例,如果有一个很长的单词,这一行剩余的空间显示不下了,那么规则就是不打断单词,而是把整个单词丢到下一行开始显示…

linux改密码显示拒绝权限,linux修改密码出现Authentication token manipulation error的解决办法...

年底需要修改一次密码,修改的时候遇到了问题,无法修改密码,经过baidu、google,找到了可能引起的原因,成功修改密码。以下内容来自于网络。Authentication token manipulation error发生该错误原因是:1、分区…

hibernate中session的获取使用以及其他注意事项

hibernate中session的获取使用以及其他注意事项 前言:工作时,在同时使用Hibernate的getSession()、getHibernateTemplate()获取Session后进行数据查询时不是出现了"session is close"异常就是出现其他异常问题,痛定思痛&#xff0c…