2 条题解

  • 0
    @ 2026-3-26 17:42:18

    NUMPY024 题解:矩阵乘法

    题目

    将一个 5×3 的矩阵与一个 3×2 的矩阵相乘。

    解题思路

    使用 np.matmul()@ 运算符进行矩阵乘法。

    代码

    import numpy as np
    Z = np.matmul(np.ones((5, 3)), np.ones((3, 2)))
    print(Z)
    # 或者
    Z = np.ones((5, 3)) @ np.ones((3, 2))
    print(Z)
    

    代码详解

    1. np.ones((5, 3)) —— 5×3 矩阵(全为 1)
    2. np.ones((3, 2)) —— 3×2 矩阵(全为 1)
    3. 矩阵乘法规则:(5×3) × (3×2) = (5×2)

    矩阵乘法的规则

    A 的列数必须等于 B 的行数
    (5, 3) × (3, 2) = (5, 2)
    
    结果矩阵的每个元素 = A的行 × B的列
    

    图解

            3×2 矩阵
         ┌──┬──┐
         │1 │1 │
    5×3  ├──┼──┤
    ┌──┬──┼──┤
    │1 │1 │1 │1
    ├──┼──┼──┤
    │1 │1 │1 │1  =  5×2 矩阵
    ├──┼──┼──┤
    │1 │1 │1 │1
    ├──┼──┼──┤
    │1 │1 │1 │1
    └──┴──┴──┘
    

    其他乘法方式

    # 使用 np.dot
    np.dot(np.ones((5, 3)), np.ones((3, 2)))
    
    # 元素逐个相乘(需要形状相同)
    np.multiply(A, B)
    

    核心知识点

    1. @ 运算符 —— 矩阵乘法
    2. np.matmul() —— 矩阵乘法函数
    3. 矩阵乘法:(m×n) × (n×p) = (m×p)
    • 0
      @ 2026-3-25 14:47:07

      NumPy024 题解

      题目分析

      本题要求将 m×km\times k 矩阵与 k×nk\times n 矩阵相乘。

      参考代码

      import numpy as np
      m, k, n = map(int, input().split())
      Z = np.matmul(np.ones((m, k)), np.ones((k, n)))
      print(Z)
      
      • 1

      信息

      ID
      78
      时间
      1000ms
      内存
      256MiB
      难度
      (无)
      标签
      (无)
      递交数
      0
      已通过
      0
      上传者