Matlab 用另一个矩阵替换矩阵的一部分

Matlab 用另一个矩阵替换矩阵的一部分,matlab,Matlab,我有一个大小为1024x1024的矩阵a和另一个大小为512x512的矩阵B。如何将A的中央512x512部分替换为B?假设您要替换(行索引,列索引)=(r,c)(在您的情况下可能是256256)中的元素 这应该起作用: A(r:(r+size(B,1)-1),c:(c+size(B,2)-1)) = B; 例如: A = magic(6); B = 2*ones(3); r = 2; c = 2; A(r:(r+size(B,1)-1),c:(c+size(B,2)-1)) = B A

我有一个大小为1024x1024的矩阵a和另一个大小为512x512的矩阵B。如何将A的中央512x512部分替换为B?

假设您要替换
(行索引,列索引)=(r,c)
(在您的情况下可能是
256256
)中的元素

这应该起作用:

A(r:(r+size(B,1)-1),c:(c+size(B,2)-1)) = B;
例如:

A = magic(6);
B = 2*ones(3);

r = 2;
c = 2;

A(r:(r+size(B,1)-1),c:(c+size(B,2)-1)) = B
A =

   35    1    6   26   19   24
    3    2    2    2   23   25
   31    2    2    2   27   20
    8    2    2    2   10   15
   30    5   34   12   14   16
    4   36   29   13   18   11

对于矩阵坐标,x和y可能不如行和列有用(特别是因为x通常是水平的)。您应该告诉我们您到目前为止尝试了什么。