我有两个矩阵
a = np.matrix([[1,2], [3,4]])
b = np.matrix([[5,6], [7,8]])
我想得到元素乘积[[1*5,2*6], [3*7,4*8]],等于
[[5,12], [21,32]]
我努力了
print(np.dot(a,b))
和
print(a*b)
但两者都给出结果
[[19 22], [43 50]]
这是矩阵乘积,而不是元素乘积。如何使用内置函数获取按元素分类的产品(又名Hadamard产品)?
是
—
jtitusj
a和bnumpy的数组?此外,在上面你的问题,你正在使用x和y进行计算,而不是a和b。这只是一个错字吗?
a和b是numpy矩阵类型的元素
—
Malintha
要挑剔,
—
hpaulj
a并且b列出。他们将工作np.dot; 但不在a*b。如果使用np.array(a)或np.matrix(a),则可以使用,*但结果不同。
a并且b不是NumPy的矩阵类型吗?对于此类,*返回内部乘积,而不是按元素计算。但是对于普通的ndarray班级,则*意味着按元素进行乘积。