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

如何在Python中编写函数来计算两个矩阵的乘积

发布时间:2023-07-02 10:22:03

在Python中,可以使用函数来计算两个矩阵的乘积。下面是一个示例代码,具体解释见注释:

def matrix_multiplication(matrix1, matrix2):
    '''
    计算两个矩阵的乘积

    参数:
    matrix1:      个矩阵,类型为二维列表
    matrix2:第二个矩阵,类型为二维列表

    返回值:
    乘积矩阵,类型为二维列表
    '''

    # 确定矩阵1的行数和列数
    rows1 = len(matrix1)
    cols1 = len(matrix1[0])

    # 确定矩阵2的行数和列数
    rows2 = len(matrix2)
    cols2 = len(matrix2[0])

    # 确保矩阵1的列数等于矩阵2的行数
    if cols1 != rows2:
        return "矩阵无法相乘"

    # 初始化结果矩阵
    result = [[0] * cols2 for _ in range(rows1)]

    # 计算乘积矩阵
    for i in range(rows1):
        for j in range(cols2):
            for k in range(cols1):
                result[i][j] += matrix1[i][k] * matrix2[k][j]

    return result

使用示例如下:

matrix1 = [[1, 2, 3],
           [4, 5, 6]]

matrix2 = [[7, 8],
           [9, 10],
           [11, 12]]

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

这段代码首先定义了一个matrix_multiplication函数,其中参数matrix1matrix2分别表示 个矩阵和第二个矩阵。在函数内部,我们首先获取了矩阵1和矩阵2的行数和列数。然后,我们通过判断矩阵1的列数是否等于矩阵2的行数来确定是否可以进行矩阵乘法运算。接下来,我们初始化一个结果矩阵,并使用三层循环来计算乘积矩阵的每个元素。最后,返回计算得到的乘积矩阵。

在上述示例中,我们定义了两个矩阵matrix1matrix2,然后调用matrix_multiplication函数来计算它们的乘积矩阵,并将结果打印出来。运行代码后,输出的结果是乘积矩阵[[58, 64], [139, 154]]。这是因为矩阵1的行数为2,列数为3,矩阵2的行数为3,列数为2,所以可以进行矩阵乘法运算,得到的乘积矩阵的行数为2,列数为2。具体计算过程是:乘积矩阵中的 个元素是矩阵1中的 行和矩阵2中的 列对应元素相乘得到的,即1×7+2×9+3×11=58;乘积矩阵中的第二个元素是矩阵1中的 行和矩阵2中的第二列对应元素相乘得到的,即1×8+2×10+3×12=64;乘积矩阵中的第三个元素是矩阵1中的第二行和矩阵2中的 列对应元素相乘得到的,即4×7+5×9+6×11=139;乘积矩阵中的第四个元素是矩阵1中的第二行和矩阵2中的第二列对应元素相乘得到的,即4×8+5×10+6×12=154。