【问题标题】:multiplying a matrix by a 1d array将矩阵乘以一维数组
【发布时间】:2023-01-04 23:48:38
【问题描述】:

我需要乘以一个矩阵,例如一个尺寸为 [3x2] 的 numpy 数组 A 乘以一维数组 B,尺寸为 [1x4] 以生成 4 [3x2] 矩阵的数组 C,即 [4 x [3x2] ]

因此,例如 C[0] 将是一个 [3x2] 矩阵 = A*B[0]

C[1] = A*B[1]

等等

在 B 循环中没有 for i,但作为 1 行操作。

【问题讨论】:

标签: arrays numpy matrix


【解决方案1】:

使用广播:

>>> a = np.arange(6).reshape(3, 2)
>>> a
array([[0, 1],
       [2, 3],
       [4, 5]])
>>> b = np.arange(4).reshape(1, 4)
>>> b
array([[0, 1, 2, 3]])
>>> c = b[None].T * a # Multiply (4, 1, 1) with (3, 2)
>>> c
array([[[ 0,  0],
        [ 0,  0],
        [ 0,  0]],

       [[ 0,  1],
        [ 2,  3],
        [ 4,  5]],

       [[ 0,  2],
        [ 4,  6],
        [ 8, 10]],

       [[ 0,  3],
        [ 6,  9],
        [12, 15]]])
>>> c.shape
(4, 3, 2)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-11
    • 1970-01-01
    • 1970-01-01
    • 2014-02-28
    • 2012-05-02
    • 1970-01-01
    • 2020-03-19
    • 1970-01-01
    相关资源
    最近更新 更多