如何将 Python 上的每一行从一个矩阵乘以每一行到另一个矩阵?
how to multiply each row from one matrix to every rows to another matrix on Python?
当我运行程序
时A和B矩阵会不同
A = np.array([[1, 1, 1], [2, 2, 2]])
B = np.array([[1, 1, 1], [2, 2, 2], [3, 3, 3]])
输出矩阵 (C
) 应与矩阵 A
具有相同的维度。
正如标题所说,我正在尝试将一个矩阵 (A
) 的每一行乘以另一个矩阵 (B
) 的每一行,并想对它们求和。
例如,
C = (2,3)
的维度
C = [[A(0)*B(0) + A(1)*B(0)], [A(0)*B(1) + A(1)*B(1)],[A(0)*B(1) + A(1)*B(1)]]
我想知道是否有 numpy 函数可以做到这一点。
使用 numpy 广播:
C = (A * B[:, None]).sum(axis=1)
输出:
>>> C
array([[3, 3, 3],
[6, 6, 6],
[9, 9, 9]])
当我运行程序
时A和B矩阵会不同A = np.array([[1, 1, 1], [2, 2, 2]])
B = np.array([[1, 1, 1], [2, 2, 2], [3, 3, 3]])
输出矩阵 (C
) 应与矩阵 A
具有相同的维度。
正如标题所说,我正在尝试将一个矩阵 (A
) 的每一行乘以另一个矩阵 (B
) 的每一行,并想对它们求和。
例如,
C = (2,3)
C = [[A(0)*B(0) + A(1)*B(0)], [A(0)*B(1) + A(1)*B(1)],[A(0)*B(1) + A(1)*B(1)]]
我想知道是否有 numpy 函数可以做到这一点。
使用 numpy 广播:
C = (A * B[:, None]).sum(axis=1)
输出:
>>> C
array([[3, 3, 3],
[6, 6, 6],
[9, 9, 9]])