调用方式:
numpy.matmul(x1, x2, /, out=None, *, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = <ufunc 'matmul'>)各个参数意义
x1:输入数组1,不允许是标量 x2:输入数组2,不允许是标量 out:返回值,ndarray数组,(可选参数),记录作用后的结果 有返回值,记录矩阵的乘积,只有当x1,x2均为一维数组时,才会得到一个标量 其他参数这里不做过多讨论,以后可能会补充说明。
代码如下:
# -*- coding: utf-8 -*- """ Created on Wed Oct 21 10:00:45 2020 @author: 15025 """ import numpy as np class NumpyStudy: def matrixMultiplication(self): array1 = [[1, 2], [3, 4]] array2 = [[5, 6], [7, 8]] array_output1 = np.matmul(array1, array2) print("数组array_output1的值为: ") print(array_output1) if __name__ == "__main__": main = NumpyStudy() main.matrixMultiplication() """ 数组array_output1的值为: [[19 22] [43 50]] """注意我们这里预先没有对array1与array2进行np.array()数组处理,而是直接使用的list类型也是可以的。 这里我们进一步研究一下out参数。
# -*- coding: utf-8 -*- """ Created on Wed Oct 21 10:00:45 2020 @author: 15025 """ import numpy as np class NumpyStudy: def matrixMultiplication(self): array1 = [[1, 2], [3, 4]] array2 = [[5, 6], [7, 8]] array_output1 = np.zeros((2, 2), dtype=np.int32) np.matmul(array1, array2, out=array_output1) print("数组array_output1的值为: ") print(array_output1) if __name__ == "__main__": main = NumpyStudy() main.matrixMultiplication() """ 数组array_output1的值为: [[19 22] [43 50]] """当我们设定out=array_output1时,我们还是需要预先对该函数进行初始化,比如这里的array_output1 = np.zeros((2, 2), dtype=np.int32),而且其尺寸必须与最后的乘积后得到的结果相同,所以意义不大。尽量避免使用。