python 中 numpy 的(2,1)维列向量 为什么可以乘(2,2)维向量?

如图所示图片说明

x为(2,1)列向量,y为(2,2)矩阵。 正常的数学算数过程x是不可以直接乘以矩阵y的,得到的t(4,7)实际是行向量x(1,2)与y矩阵(2,2)相乘的结果。最后的t又变成了(2,1)维的列向量了。想问一下为什么会这样?很乱

2个回答

在使用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,)也是同样意思

这不是按照矩阵乘法乘的吗

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐