W
e
l
c
o
m
e
: )

10.Numpy矩阵操作

矩阵:

方法 概述
np.mat 创建矩阵
np.matrix 创建矩阵,新版本将会废弃
np.bmat 数组的拼接转换
matrix1+matrix2 矩阵加法
matrix1-matrix2 矩阵减法
matrix1*matrix2 矩阵乘法
num*matrix 数乘法
matrix.T 转置
matrix.I 求逆
np.multiply(matrix1,matrix2) 对应元素相乘

举例:

矩阵创建 np.mat:

mart1 = np.mat('1,2,3;4,5,6;7,8,9')
print(mart1)
print(type(mart1))

[[1 2 3]
 [4 5 6]
 [7 8 9]]
<class 'numpy.matrix'>

矩阵创建 np.matrix:

mart2 = np.matrix([[1, 0, 1], [2, 0, 2], [0, 0, 1]])
print(mart2)
print(type(mart2))

[[1 0 1]
 [2 0 2]
 [0 0 1]]
<class 'numpy.matrix'>

矩阵的合并np.bmat:

arr1 = np.eye(3)
arr2 = 2 * np.eye(3)
print(np.bmat('arr1 arr2;arr2 arr1'))


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

矩阵加法 matrix1+matrix2:

mart1 = np.mat('1,2,3;4,5,6;7,8,9')
print(mart1)
print('----------------')
mart2 = np.matrix([[1, 0, 1], [2, 0, 2], [0, 0, 1]])
print(mart2)
print('----------------')
print(mart1+mart2)

[[1 2 3]
 [4 5 6]
 [7 8 9]]
----------------
[[1 0 1]
 [2 0 2]
 [0 0 1]]
----------------
[[ 2  2  4]
 [ 6  5  8]
 [ 7  8 10]]

矩阵减法 matrix1-matrix2:

mart1 = np.mat('1,2,3;4,5,6;7,8,9')
print(mart1)
print('----------------')
mart2 = np.matrix([[1, 0, 1], [2, 0, 2], [0, 0, 1]])
print(mart2)
print('----------------')
print(mart1-mart2)

[[1 2 3]
 [4 5 6]
 [7 8 9]]
----------------
[[1 0 1]
 [2 0 2]
 [0 0 1]]
----------------
[[0 2 2]
 [2 5 4]
 [7 8 8]]

矩阵乘法matrix1*matrix2:

mart1 = np.mat('1,2,3;4,5,6;7,8,9')
print(mart1)
print('----------------')
mart2 = np.matrix([[1, 0, 1], [2, 0, 2], [0, 0, 1]])
print(mart2)
print('----------------')
print(mart1*mart2)

# 乘法 这边 用每一行乘每一列
# 比如 第一行 1*1+2*2+3*0 = 5,为 1  1 位置元素
# 第一行 1*0+2*0+3*0=0 为 1 2 位置元素
# 第一行 1*1+2*2 +3 *1 = 8 为 1 3 位置元素
# 第二行 4*1+5*2+6*0 = 14 为 2 1 位置元素
# 以此类推

[[1 2 3]
 [4 5 6]
 [7 8 9]]
----------------
[[1 0 1]
 [2 0 2]
 [0 0 1]]
----------------
[[ 5  0  8]
 [14  0 20]
 [23  0 32]]

转置matrix.T:

简单理解 就是 行转列

mart1 = np.mat('1,2,3;4,5,6;7,8,9')
print(mart1)
print('----------------')
print(mart1.T)


[[1 2 3]
 [4 5 6]
 [7 8 9]]
----------------
[[1 4 7]
 [2 5 8]
 [3 6 9]]

求逆matrix.I:

线性代数知识.......

mart1 = np.mat('1,2,3;4,5,6;7,8,9')
print(mart1)
print('----------------')
print(mart1.I)

[[1 2 3]
 [4 5 6]
 [7 8 9]]
----------------
[[ 3.15251974e+15 -6.30503948e+15  3.15251974e+15]
 [-6.30503948e+15  1.26100790e+16 -6.30503948e+15]
 [ 3.15251974e+15 -6.30503948e+15  3.15251974e+15]]
posted @ 2020-03-07 19:53  水一RAR  阅读(99)  评论(0编辑  收藏  举报