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

时间:2014-01-17 11:10:48

标签: matlab

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

1 个答案:

答案 0 :(得分:1)

假设您要替换(row_index, col_index) = (r, c)中的元素(在您的情况下可能是256,256)。

这应该有效:

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