- 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