- SymPy 教程
- SymPy - 首页
- SymPy - 简介
- SymPy - 安装
- SymPy - 符号计算
- SymPy - 数字
- SymPy - 符号
- SymPy - 替换
- SymPy - sympify() 函数
- SymPy - evalf() 函数
- SymPy - Lambdify() 函数
- SymPy - 逻辑表达式
- SymPy - 查询
- SymPy - 简化
- SymPy - 导数
- SymPy - 积分
- SymPy - 矩阵
- SymPy - 函数类
- SymPy - 四元数
- SymPy - 求解器
- SymPy - 绘图
- SymPy - 实体
- SymPy - 集合
- SymPy - 打印
- SymPy 有用资源
- SymPy - 快速指南
- SymPy - 有用资源
- SymPy - 讨论
SymPy - 数字
SymPy 包中的核心模块包含 Number 类,该类表示原子数字。此类有两个子类:Float 类和 Rational 类。Rational 类由 Integer 类进一步扩展。
Float 类表示任意精度的浮点数。
>>> from sympy import Float >>> Float(6.32)
上述代码片段的输出如下:
6.32
SymPy 可以将整数或字符串转换为浮点数。
>>> Float(10)
10.0
Float('1.33E5')# scientific notation
133000.0
在转换为浮点数时,还可以指定精度的数字位数,如下所示:
>>> Float(1.33333,2)
上述代码片段的输出如下:
1.3
数字 (p/q) 的表示形式表示为 Rational 类的对象,其中 q 为非零数。
>>> Rational(3/4)
上述代码片段的输出如下:
$\frac{3}{4}$
如果将浮点数传递给 Rational() 构造函数,则返回其二进制表示的底层值
>>> Rational(0.2)
上述代码片段的输出如下:
$\frac{3602879701896397}{18014398509481984}$
为了更简单的表示,请指定分母限制。
>>> Rational(0.2).limit_denominator(100)
上述代码片段的输出如下:
$\frac{1}{5}$
当将字符串传递给 Rational() 构造函数时,将返回任意精度的有理数。
>>> Rational("3.65")
上述代码片段的输出如下:
$\frac{73}{20}$
如果传递两个数字参数,也可以获得 Rational 对象。分子和分母部分可用作属性。
>>> a=Rational(3,5) >>> print (a) >>> print ("numerator:{}, denominator:{}".format(a.p, a.q))
上述代码片段的输出如下:
3/5
分子:3,分母:5
>>> a
上述代码片段的输出如下:
$\frac{3}{5}$
SymPy 中的 Integer 类表示任意大小的整数。构造函数可以接受 Float 或 Rational 数字,但小数部分将被丢弃
>>> Integer(10)
上述代码片段的输出如下:
10
>>> Integer(3.4)
上述代码片段的输出如下:
3
>>> Integer(2/7)
上述代码片段的输出如下:
0
SymPy 有一个 **RealNumber** 类,它充当 Float 的别名。SymPy 还将 Zero 和 One 定义为单例类,可以通过 S.Zero 和 S.One 分别访问,如下所示:
>>> S.Zero
输出如下:
0
>>> S.One
输出如下:
1
其他预定义的单例数字对象是 Half、NaN、Infinity 和 ImaginaryUnit
>>> from sympy import S >>> print (S.Half)
输出如下:
½
>>> print (S.NaN)
输出如下:
nan
Infinity 可作为 oo 符号对象或 S.Infinity 使用
>>> from sympy import oo >>> oo
上述代码片段的输出如下:
$\infty$
>>> S.Infinity
上述代码片段的输出如下:
$\infty$
ImaginaryUnit 数字可以作为 I 符号导入或作为 S.ImaginaryUnit 访问,并表示 -1 的平方根
>>> from sympy import I >>> I
执行上述代码片段时,您将获得以下输出:
i
>>> S.ImaginaryUnit
上述代码片段的输出如下:
i
>>> from sympy import sqrt >>> i=sqrt(-1) >>> i*i
执行上述代码片段时,您将获得以下输出:
-1