1. 对于数组array
乘
就是对应位置的元素相乘:
1
2
3
4
5
|
X1 = np.array([[ 1 , 2 ], [ 3 , 4 ]]) X2 = X1 print X2 * X1 [[ 1 4 ] [ 9 16 ]] |
加
就是对应位置的相加:
1
2
3
4
5
|
X1 = np.array([[ 1 , 2 ], [ 3 , 4 ]]) X2 = X1 print X2 + X1 [[ 2 4 ] [ 6 8 ]] |
2. 对于矩阵matrix
乘
就是矩阵的点乘:
1
2
3
4
5
|
X1 = np.matrix([[ 1 , 2 ], [ 3 , 4 ]]) X2 = X1 print X2 * X1 [[ 7 10 ] [ 15 22 ]] |
加
有两种情况,第一种是X1与X2的大小一致,就是普通的矩阵相加,即对应位置相加:
1
2
3
4
5
|
X1 = np.matrix([[ 1 , 2 ], [ 3 , 4 ]]) X2 = X1 print X2 + X1 [[ 2 4 ] [ 6 8 ]] |
第二种情况是n*1的X1 + m*1的X2(或者反过来),就会得到n*m的矩阵:
1
2
3
4
5
6
7
|
X1 = np.matrix([[ 1 , 2 , 3 ]]) X2 = np.matrix([[ 1 , 2 , 3 , 4 ]]).T print X2 + X1 [[ 2 3 4 ] [ 3 4 5 ] [ 4 5 6 ] [ 5 6 7 ]] |
3. 混用情况
在numpy中存在很多的matrix和array 运算符混用的情况,程序也能通过,但这样很不好,尽量按照以上原则使用。
如果2维的array想要进行矩阵的点乘运算,可以用np.dot(X1, X2)
如果matrix想要进行对应位置的乘,可以用np.multiply(X2,X1)
以上这篇numpy matrix和array的乘和加实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/autoliuweijie/article/details/51967288