2024-04-26 03:01:14 发布
网友
我很难做到这一点。我有两个m x n矩阵(A和B),我需要将A的每一列乘以B中的行,以生成一个m x(n*n)矩阵。我想我的解释不是很清楚,所以我会贴一个例子:
A = [1 2 3 4] B = [5 6 7 8]
我希望:
[[5 6] [10 12] [21 24] [28 32]]
我可以使用for循环来完成,但是我想尽量避免for。也可以使用numpy将所有这些和所有数据存储为np.array。你知道吗
for
np.array
也许:
>>> A = np.array([[1,2],[3,4]]) >>> B = np.array([[5,6],[7,8]]) >>> (A * B[None, :].T).T array([[[ 5, 6], [21, 24]], [[10, 12], [28, 32]]])
在这里,我们使用None向B添加一个额外的维度,并使用一些换位来获得正确的对齐。你知道吗
None
B
如果我没听错的话,你想要基本(m*n)乘法对吗?使用numpy.dot():
>>> a = [[1, 0], [0, 1]] >>> b = [[4, 1], [2, 2]] >>> np.dot(a, b) array([[4, 1], [2, 2]])
也许:
在这里,我们使用
None
向B
添加一个额外的维度,并使用一些换位来获得正确的对齐。你知道吗如果我没听错的话,你想要基本(m*n)乘法对吗?使用numpy.dot():
相关问题 更多 >
编程相关推荐