You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求编写矩阵乘法函数:接收两个n维数组并返回乘积结果

矩阵乘法实现函数

前提条件

要执行矩阵乘法,必须满足第一个矩阵的列数等于第二个矩阵的行数,否则无法完成运算。

Python 函数实现

def matrix_multiply(matrix_a, matrix_b):
    # 获取矩阵A的行、列数
    rows_a = len(matrix_a)
    cols_a = len(matrix_a[0]) if rows_a > 0 else 0
    # 获取矩阵B的行、列数
    rows_b = len(matrix_b)
    cols_b = len(matrix_b[0]) if rows_b > 0 else 0
    
    # 校验矩阵乘法合法性
    if cols_a != rows_b:
        raise ValueError("第一个矩阵的列数必须等于第二个矩阵的行数,无法执行矩阵乘法")
    
    # 初始化结果矩阵,维度为A的行数 × B的列数
    result = [[0 for _ in range(cols_b)] for _ in range(rows_a)]
    
    # 核心乘法计算逻辑
    for i in range(rows_a):
        for j in range(cols_b):
            for k in range(cols_a):
                result[i][j] += matrix_a[i][k] * matrix_b[k][j]
    
    return result

示例验证

用题目给出的测试用例运行函数:

A = [[8,3], [2,4], [3,6]]
B = [[1,2,3], [4,6,8]]
print(matrix_multiply(A, B))

输出结果:

[[20, 34, 48], [18, 28, 38], [27, 42, 57]]

与题目要求的结果完全一致。

代码说明

  • 先获取两个矩阵的行、列数,优先校验乘法合法性,不满足则抛出异常
  • 初始化结果矩阵,所有元素默认值为0,维度符合矩阵乘法的结果规则
  • 三层循环对应矩阵乘法的核心逻辑:遍历A的每一行、B的每一列,将对应位置的元素相乘后累加,得到结果矩阵的对应元素

内容的提问来源于stack exchange,提问作者Mohamadreza Kazemian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 00:45:42