我有两个数组m1和m2,我想做一个特殊的乘法: 1 * 8 + 2 * 6、3 * 8 + 4 * 6、1 * 2 + 2 * 6、3 * 2 + 4 * 6,... 所以我想要这个输出。结果= [20,48,14,30,..]
m1 = np.array([1,2,3,4])
m2 = np.array([8,6,2,6,2,5])
很抱歉,但我真的不知道该怎么做。 我认为使用这样的for循环:
for x in m1:
谢谢
答案 0 :(得分:1)
显然,您的标量乘积必须2乘2,因此您需要开始重塑数据:
m1 = np.array([1,2,3,4]).reshape(2,2)
m2 = np.array([8,6,2,6,2,5]).reshape(3,2)
因此,现在,您想要在最后一列上的点积,并将结果展平,所以:
np.dot(m2, m1.T).reshape(-1)