1.将一维行向量转化为一维列向量
注意:python中的array不能用a = a.T 或a = np.transpose(a) 来进行转置,这两种方法在a为多维矩阵时才有效,但matrix可以用a.T 可以
a = range(4)
a = np.array([a]).T
输出:
[[0]
[1]
[2]
[3]]
2.矩阵m*1可以和1*k相乘,得到矩阵m*k,但矩阵m*n(n≠1)不可以和1*k相乘(k≠n)
注意:此处的相乘指的是两个矩阵对应位置上的元素相乘,若想实现矩阵的相乘,可以使用np.dot()
a = np.array(range(4))
a = np.array([a]).T
b = np.array(range(3))
c = a*b
a:输出形式如上
b:[0 1 2]
c:
[[0 0 0]
[0 1 2]
[0 2 4]
[0 3 6]]
矩阵m*n(n≠1)不可以和1*k相乘(k≠n):
a = [[1, 2],[3, 4],[5, 6]]
a = np.array(a)
b = np.array(range(3))
c = a*b
a的shape为3*2,而b的shape为(3,),即一维数组,数组里有3个元素
矩阵m*k(n≠1)可以和1*k相乘:
a = [[1, 2],[3, 4],[5, 6]]
a = np.array(a)
b = np.array(range(2))
c = a*b
a:
[[1 2]
[3 4]
[5 6]]
b:
[0 1]
c:
[[0 2]
[0 4]
[0 6]]
|