Python NumPy非正统矩阵乘法
是否有一个NumPy矩阵/向量函数Python NumPy非正统矩阵乘法,python,numpy,matrix,Python,Numpy,Matrix,是否有一个NumPy矩阵/向量函数 [x1*y1] [x2*y2] x*y = [x3*y3] [-----] [xn*yn] 编辑: 如果没有,有人能告诉我怎么做。 编辑2:将x%y更改为x*y没有方法,只需使用* 例如,考虑 import numpy as np a = np.array([[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]]) b = np.array([[
[x1*y1]
[x2*y2]
x*y = [x3*y3]
[-----]
[xn*yn]
编辑:
如果没有,有人能告诉我怎么做。编辑2:将x%y更改为x*y没有方法,只需使用* 例如,考虑
import numpy as np
a = np.array([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9]])
b = np.array([[2, 2, 2, 2, 2],
[2, 2, 2, 2, 2]])
print(a * b)
此代码返回
[[ 0 2 4 6 8]
[10 12 14 16 18]]
最好使用数组而不是矩阵,矩阵总有一天会消失的。在最新版本的NumPy中,当您使用Python 3.5+时,矩阵乘法运算符@可以用于数组。拥有矩阵乘法运算符几乎是矩阵的唯一原因。你的意思是
x*y
?那么你真的需要阅读文档了。没有混乱。矩阵乘法是一个不同的函数。您是如何创建x
和y
?使用np.array
或np.matrix
?或者就像列表一样。这使得像*
这样的运算符的行为有所不同。你是说我可以将矩阵转换为数组,然后将它们相乘。从numpy导入的数组也可以存储矩阵。毕竟,2D矩阵就是2D数组。是的。要将它们取回,可以使用.tolist()更好地使用importnumpyasnp
,并使用np.array(..)
。这就少了混淆,尤其是在这种情况下,*
以两种截然不同的方式使用。