私は 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
次の方法でNumPyを使用してPythonで同様のことを試みています。
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ループを使わずにこれを行う方法を教えてください。