使用 np.mat、np.asmatrix 建立矩陣
使用 np.bmat 來組合矩陣 常用
import numpy as np
# 生成矩陣
# 可以使用np.mat np.asmatrix來建立矩陣
#np.mat = np.asmatrix 一樣的
#np.mat 將特殊字串轉化為矩陣
# m1 = np.mat('1 2 3;4 5 6;7 8 9')
# print(m1)
# print(type(m1)) #
# print(m1.ndim) # 2維 ---只能是2維
# print(m1.shape) # (3,3)
# print(m1.itemsize)
# print(m1.dtype)
# print(m1.size)
# print("********************")
# # 也可以將列表巢狀轉化為矩陣
# m1 = np.asmatrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# print(m1)
# print(type(m1)) # ##
# # 也可以將二維陣列轉化為矩陣
## # 建立乙個二維陣列
# arr = np.arange(9).reshape((3, 3))
## m1 = np.mat(arr)
## print(m1)
# print(type(m1)) #
# 可以使用np.bmat來組合矩陣
arr1 = np.array([[
1,2]
,[1,
2]])
arr2 = np.arange(4)
.reshape((2
,2))
print
('arr1:\n'
, arr1)
print
('arr2:\n'
, arr2)
print
('*'
*100
)# 利用np.bmat將陣列組合成矩陣
# res = np.bmat('arr1 arr2;arr2 arr1')
# res = np.bmat([[arr1, arr2], [arr2, arr1]]) # 列表物件
# print(res)
# print(type(res)) #
# 可以使用np.bmat 可以將 二維陣列轉化為矩陣
res = np.bmat(arr1)
# res = np.bmat('1 2 3;4 5 6;7 8 9') # 錯誤的
# res = np.bmat([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 錯誤的
print
(res)
print
(type
(res)
)#
import numpy as np
# 建立矩陣進行運算
m1 = np.mat(
'1 2;3 4'
)# ---(2,2)
m2 = np.asmatrix([[
2,1]
,[1,
2]])
# ----(2,2)
print
('m1:\n'
, m1)
print
('m2:\n'
, m2)
print
('*'
*100
)# 矩陣相加 ---同型矩陣 ---對應位置相加
print
('m1 + m2 :\n'
, m1 + m2)
# 矩陣相減---矩陣加上後面的矩陣的負矩陣 ---對應位置相減
print
('m1 - m2 :\n'
, m1 - m2)
# 矩陣與 數的相乘 ----每乙個元素都與數進行相乘
# 3 和 m1 進行相乘
# print('3 * m1 :\n', 3 * m1)
# # 矩陣 與矩陣 相乘
# # 規則:如果兩個矩陣進行相乘,左矩陣的列 必須等於右矩陣的行,才能相乘
# # 生成乙個左矩陣行、右矩陣列的矩陣
# print('m1 * m2:\n', m1 * m2)
# # np.matmul
# print('m1 * m2 :\n', np.matmul(m1, m2))
# # np.dot
# print('m1 * m2 :\n', np.dot(m1, m2))
# 矩陣對應位置元素相乘 ---同型矩陣
# print('m1、m2對應位置元素相乘:\n', np.multiply(m1, m2))
# 矩陣性質
# 矩陣轉置
# print('m1 的轉置:\n',m1.t)
# 矩陣的逆
# print('m1 的逆矩陣:\n', m1.i)
# # 逆矩陣性質---a*a的逆 = e ----> |a| = 0 --->直接報錯,或者出現inf
# print('m1 * m1 的逆矩陣:\n', m1 * m1.i)
# 矩陣的檢視
# 可以通過np.mat np.asmatrix將ndarray轉化為矩陣
# 可以通過矩陣.a 來獲取 ndarray
# print('m1 的檢視:\n', m1.a)
# print('m1 檢視的型別:\n', type(m1.a)) #
# 索引---對於ndarray,使用下標會降低維度
# 對於矩陣 --使用下標 不降低維度
# print('獲取m1的元素', m1[0, :])
# 矩陣的共軛轉置
# 先共軛,再轉置 ---複數
# print('m1的共軛轉置:\n',m1.h)
矩陣特有屬性:
C 版本 大整數bign的建立與運算
include include using namespace std struct bign len 0 memset d,0,sizeof d bign string num bign void showarr const cout endl void show const cout endl ...
乾淨的資料《資料清洗入門與實戰》
1.資料科學過程 1 問題陳述。識別出你要解決的問題是什麼。2 資料收集與儲存。資料從何而來?它們在 存放?格式又是什麼?3 資料清洗。資料需要修改嗎?有什麼需要刪除嗎?資料應該怎麼調整才能適用於接下來的分析和挖掘。4 資料分析和機器學習。資料需要哪些處理?需要怎樣的轉換?使用什麼樣的演算法?運用什...
OpenCV 矩陣的建立與釋放
矩陣有多種建立方法。最常見的方法是用cvcreatemat 它由多個原函式組成,如cvcreatematheader 和cvcreatedata cvcreatematheader 函式建立cvmat結構,不為資料分配記憶體,而cvcreatedata 函式只負責資料的記憶體分配。第三中方法是用函式...