1

我有两个一维 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] ])
4

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]])
于 2013-02-19T15:45:14.713 回答