我有两个一维的numpy矩阵:
[[ 0.69 0.41]]
和[[ 0.81818182 0.18181818]]
我想将这两个相乘得到结果
[[0.883, 0.117]]
(结果已标准化)
如果我使用np.dot
,我会ValueError: matrices are not aligned
有人知道我做错了吗?
修改
我以一种黑客的方式解决了它,但它对我有用,无论是否有更好的解决方案。
new_matrix = np.matrix([ a[0,0] * b[0,0], a[0,1] * b[0,1] ])
答案 0 :(得分: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]])