NumPy學習筆記19.矩陣庫(Matrix)

NumPy矩陣庫(Matrix)

NumPy中包含了一個矩陣庫numpy.matlib,該模塊中的函數返回的是一個矩陣,而不是ndarray對象。
一般是 m X n ;m是行(row),n是列(column)
矩陣裏的元素可以是數字、符號或數學式。如下4行5列矩陣:

[abcdefghijklmnopqrst] \left[ \begin{matrix} a & b & c & d & e\\ f & g & h & i & j \\ k & l & m & n & o \\ p & q & r & s & t \end{matrix} \right]

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)))  # 填充爲隨機數據
[[9.90263869e+067 8.01304531e+262]
 [2.60799828e-310 0.00000000e+000]]
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,其他位置爲0

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.01973713 0.84200664 0.76942969]
 [0.8239831  0.1061749  0.20445777]
 [0.21793734 0.54064737 0.15245786]]
# 矩陣總是二維的,而 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]]

學習參考:

發佈了60 篇原創文章 · 獲贊 3 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章