如图所示
x为(2,1)列向量,y为(2,2)矩阵。 正常的数学算数过程x是不可以直接乘以矩阵y的,得到的t(4,7)实际是行向量x(1,2)与y矩阵(2,2)相乘的结果。最后的t又变成了(2,1)维的列向量了。想问一下为什么会这样?很乱
如图所示
x为(2,1)列向量,y为(2,2)矩阵。 正常的数学算数过程x是不可以直接乘以矩阵y的,得到的t(4,7)实际是行向量x(1,2)与y矩阵(2,2)相乘的结果。最后的t又变成了(2,1)维的列向量了。想问一下为什么会这样?很乱
在使用numpy.array时候要区分一维数组、二维数组、多维数据。你图示中的x=np.array([1,2])是一维数组,所以它的shape为(2,)这表示的是x是一维数组并且只有2个元素。一定要区分(2,)和(2,1)的区别,若x=np.array([[1],[2]]),此时x.shape为(2,1)表示二维数组x是两行一列。
所以(2,)还是可以乘以(2,2)矩阵的呀,只不过前者的2不是代表两行,而是代表一维数组有两个数据,实际上相当于(1,2)数组与(2,2)数组相乘,最后得到[4,7],同理最后的(2,)也是同样意思