top
Loading...
NumPy 矩陣庫(Matrix)

NumPy 矩陣庫(Matrix)

NumPy 中包含了一個矩陣庫 numpy.matlib,該模塊中的函數返回的是一個矩陣,而不是 ndarray 對象。

一個 的矩陣是一個由行(row)列(column)元素排列成的矩形陣列。

矩陣里的元素可以是數字、符號或數學式。以下是一個由 6 個數字元素構成的 2 行 3 列的矩陣:

matlib.empty()

matlib.empty() 函數返回一個新的矩陣,語法格式為:

numpy.matlib.empty(shape, dtype, order)

參數說明:

  • shape: 定義新矩陣形狀的整數或整數元組
  • Dtype: 可選,數據類型
  • order: C(行序優先) 或者 F(列序優先)

實例

import numpy.matlib import numpy as np print (np.matlib.empty((2,2))) # 填充為隨機數據

輸出結果為:

[[-1.49166815e-154 -1.49166815e-154]
 [ 2.17371491e-313  2.52720790e-212]]

numpy.matlib.zeros()

numpy.matlib.zeros() 函數創建一個以 0 填充的矩陣。

實例

import numpy.matlib import numpy as np print (np.matlib.zeros((2,2)))

輸出結果為:

[[0. 0.]
 [0. 0.]]

numpy.matlib.ones()

numpy.matlib.ones()函數創建一個以 1 填充的矩陣。

實例

import numpy.matlib import numpy as np print (np.matlib.ones((2,2)))

輸出結果為:

[[1. 1.]
 [1. 1.]]

numpy.matlib.eye()

numpy.matlib.eye() 函數返回一個矩陣,對角線元素為 1,其他位置為零。

numpy.matlib.eye(n, M,k, dtype)

參數說明:

  • n: 返回矩陣的行數
  • M: 返回矩陣的列數,默認為 n
  • k: 對角線的索引
  • dtype: 數據類型

實例

import numpy.matlib import numpy as np print (np.matlib.eye(n = 3, M = 4, k = 0, dtype = float))

輸出結果為:

[[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]]

numpy.matlib.identity()

numpy.matlib.identity() 函數返回給定大小的單位矩陣。

單位矩陣是個方陣,從左上角到右下角的對角線(稱為主對角線)上的元素均為 1,除此以外全都為 0。

實例

import numpy.matlib import numpy as np # 大小為 5,類型位浮點型 print (np.matlib.identity(5, dtype = float))

輸出結果為:

[[ 1.  0.  0.  0.  0.] 
 [ 0.  1.  0.  0.  0.] 
 [ 0.  0.  1.  0.  0.] 
 [ 0.  0.  0.  1.  0.] 
 [ 0.  0.  0.  0.  1.]]

numpy.matlib.rand()

numpy.matlib.rand() 函數創建一個給定大小的矩陣,數據是隨機填充的。

實例

import numpy.matlib import numpy as np print (np.matlib.rand(3,3))

輸出結果為:

[[0.23966718 0.16147628 0.14162   ]
 [0.28379085 0.59934741 0.62985825]
 [0.99527238 0.11137883 0.41105367]]

矩陣總是二維的,而 ndarray 是一個 n 維數組。 兩個對象都是可互換的。

實例

import numpy.matlib import numpy as np i = np.matrix('1,2;3,4') print (i)

輸出結果為:

[[1  2] 
 [3  4]]

實例

import numpy.matlib import numpy as np j = np.asarray(i) print (j)

輸出結果為:

[[1  2] 
 [3  4]]

實例

import numpy.matlib import numpy as np k = np.asmatrix (j) print (k)

輸出結果為:

[[1  2] 
 [3  4]]
北斗有巢氏 有巢氏北斗