想做类似于matlab里“点乘”,“每个数平方”那样的运算,结果在numpy里怎么找都没有类似的做法,请问,我该如何实现呢?
直接使用运算符即可。
比如MATLAB里面的a.*b
,在numpy就直接是a*b
;MATLAB里面的a.^2
,在numpy就是a**2
。
也就是说numpy的运算符默认都是element-wise的,反之在MATLAB里面*
默认是点乘,而在numpy里面必须要使用numpy.dot()
进行点乘。
numpy.matrix
和numpy.array
是等效的。不过乘方的运算好象稍有不同,matrix的乘方是矩阵乘法,array的乘方是元素乘法。此外推荐推荐使用numpy.array
,numpy.matrix
感觉并没有什么额外的用途。。
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答972 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
把np.matrix转换成np.array
比如说M是个np.matrix
M2 = np.matrix(np.array(M)**2)