numpy.matrix如何进行单个数字的运算?

想做类似于matlab里“点乘”,“每个数平方”那样的运算,结果在numpy里怎么找都没有类似的做法,请问,我该如何实现呢?

阅读 4.7k
3 个回答

把np.matrix转换成np.array

比如说M是个np.matrix

M2 = np.matrix(np.array(M)**2)

直接使用运算符即可。

比如MATLAB里面的a.*b,在numpy就直接是a*b;MATLAB里面的a.^2,在numpy就是a**2

也就是说numpy的运算符默认都是element-wise的,反之在MATLAB里面*默认是点乘,而在numpy里面必须要使用numpy.dot()进行点乘。

numpy.matrixnumpy.array是等效的。不过乘方的运算好象稍有不同,matrix的乘方是矩阵乘法,array的乘方是元素乘法。此外推荐推荐使用numpy.arraynumpy.matrix感觉并没有什么额外的用途。。

新手上路,请多包涵

直接使用np.power可以解决乘方问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题