获取两个一维numpy矩阵的乘积

1 投票
1 回答
1141 浏览
提问于 2025-04-17 16:22

我有两个一维的numpy矩阵:

[[ 0.69 0.41]][[ 0.81818182 0.18181818]]

我想把这两个矩阵相乘,得到的结果是:

[[0.883, 0.117]](这个结果是经过归一化处理的)

但是如果我使用 np.dot,就会出现 ValueError: matrices are not aligned 的错误。

有没有人知道我哪里出错了?

编辑

我用了一种有点“hacky”的方法解决了这个问题,虽然不确定有没有更好的解决方案,但对我来说是有效的。

new_matrix = np.matrix([ a[0,0] * b[0,0], a[0,1] * b[0,1] ])

1 个回答

1

看起来你想进行逐个元素的数学运算。Numpy数组默认就支持这种操作。

In [1]: import numpy as np

In [2]: a = np.matrix([.69,.41])

In [3]: b = np.matrix([ 0.81818182, 0.18181818])

In [4]: np.asarray(a) * np.asarray(b)
Out[4]: array([[ 0.56454546,  0.07454545]])

In [5]: np.matrix(_)
Out[5]: matrix([[ 0.56454546,  0.07454545]])

撰写回答