欢迎访问宙启技术站
智能推送

Python中如何使用函数实现实现矩阵相乘的功能?

发布时间:2023-07-27 05:46:59

在Python中,我们可以通过编写一个函数来实现矩阵相乘的功能。矩阵相乘是指两个矩阵的对应元素相乘,并将结果相加得到一个新的矩阵。

首先,我们需要确定两个矩阵的维度。一个矩阵的维度为m × n,而另一个矩阵的维度为n × p。只有当 个矩阵的列数等于第二个矩阵的行数时,它们才能进行相乘操作。

下面是一个实现矩阵相乘功能的函数示例:

def matrix_multiplication(matrix1, matrix2):
    m = len(matrix1)  #       个矩阵的行数
    n = len(matrix1[0])  #       个矩阵的列数
    p = len(matrix2[0])  # 第二个矩阵的列数

    # 创建一个新的矩阵,用于存储结果
    result = [[0] * p for _ in range(m)]

    # 逐个计算结果矩阵中的元素
    for i in range(m):
        for j in range(p):
            for k in range(n):
                result[i][j] += matrix1[i][k] * matrix2[k][j]

    return result

上述代码中,我们首先通过 len() 函数获取输入矩阵的维度并赋值给变量 m、n 和 p。然后,我们创建了一个新的矩阵 result 来存储结果,它的大小为m × p,并初始化为全零矩阵。

接下来,我们通过三层嵌套循环遍历结果矩阵中的每个元素。在最内层循环中,我们通过索引获得两个输入矩阵相应位置的元素,并进行相乘操作。每次相乘后,我们将结果累加到 result 矩阵的相应位置。

最后,我们返回 result 矩阵作为矩阵相乘的结果。

下面是一个示例用法:

matrix1 = [[1, 2, 3],
           [4, 5, 6]]
matrix2 = [[7, 8],
           [9, 10],
           [11, 12]]

result = matrix_multiplication(matrix1, matrix2)
print(result)

输出为:

[[58, 64], 
 [139, 154]]

通过以上示例,我们可以看到矩阵相乘函数成功地实现了矩阵相乘功能。你可以根据自己的需求调整输入矩阵的维度和元素,并使用该函数得到相应结果。