我是 Python 世界的新移民。我需要弄清楚如何在 Python 中将矩阵复制到更大的矩阵。让我用 Matlab 中的一个例子来说明这一点:
A = randn(4,4);
B = eye(2,2);
A(1:2,1:2) = B
给
A =
1.0000 0 3.5784 0.7254
0 1.0000 2.7694 - 0.0631
-2.2588 - 0.4336 - 1.3499 0.7147
0.8622 0.3426 3.0349 - 0.2050
我正在尝试使用 Python 以以下方式使用 NumPy 进行类似的操作。
A = np.random.randn(4,4)
B = np.eye(2,2)
A[0:1,0:1] = B
给
ValueError: output operand requires a reduction, but reduction is not enabled.
当然,避免这种情况的最简单方法是使用循环,但我希望将其保持矢量化。
有人可以指出我在不使用 for 循环的情况下执行此操作的方法吗?