Python------NumPy基础知识总结(二)

ndarray(二)矩阵

- 创建矩阵
1.创建一般矩阵
法一:mat
arr1 = np.mat(“1 2 3 ; 4 5 6;7 8 9”) #使用;隔开数据
结果如下:
[ [1 2 3]
[4 5 6]
[7 8 9] ]
法二:matrix
arr2 = np.matrix([[1 2 3],[4 5 6],[7 8 9]]) #和数组的创建差不多
结果如下:
[ [1 2 3]
[4 5 6]
[7 8 9] ]

2.创建由小矩阵合成的大矩阵(利用分块矩阵思想)----bmat(block matrix)
arr3 = np.eye(3) #创建3行3列的对角线为1的对角矩阵
[ [1 0 0 ]
[0 1 0 ]
[0 0 1 ] ]
arr4 = arr3*2
[ [2 0 0]
[0 2 0]
[0 0 2] ]

arr5 = np.bmat(“arr3 arr4;arr4 arr3”)
[[1 0 0 2 0 0]
[0 1 0 0 2 0]
[0 0 1 0 0 2]
[2 0 0 1 0 0]
[0 2 0 0 1 0]
[0 0 2 0 0 1] ]

- 矩阵四则运算:由于矩阵间的相加2减和咱们平常阿拉伯数字相加减差不多 故不在描述

有关矩阵的乘法:
(1).与数字的相乘:比较简单
如:
arr3 = np.eye(3) #创建3行3列的对角线为1的对角矩阵
[ [1 0 0 ]
[0 1 0 ]
[0 0 1 ] ]
arr4 = arr3*2
[ [2 0 0]
[0 2 0]
[0 0 2] ]

(2).矩阵相乘:
(牢记前提:矩阵a的行数与矩阵b的列数相同 --线性代数知识)
arr1 = np.mat(“1 2 3 ; 4 5 6;7 8 9”) #使用;隔开数据
结果如下:
[ [1 2 3]
[4 5 6]
[7 8 9] ]

arr2 = arr1*3
结果如下:
[ [3 6 9]
[12 15 18]
[21 24 27] ]

print(arr1*arr2)
[ [90 108 126]
[198 243 288]
[306 378 450] ]

(3).矩阵对应元素相乘:
print(np.multiply(arr1,arr2))
[ [ 3 12 27]
[ 48 75 108]
[147 192 243] ]

很基础ndarray的基本知识就到这里结束了
希望大家在看的同时也能够自己手头敲一敲效果比较好 虽然简单 但是敲过之后才会记得

下一篇Python-----Numpy基础知识总结(三)
是有关于另一个对象ufunc哦

你可能感兴趣的:(python)