调用方式:
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)
,而且其尺寸必须与最后的乘积后得到的结果相同,所以意义不大。尽量避免使用。
如果大家觉得有用,就请点个赞吧~