在必要的修改之后将提取的子矩阵恢复到使用Matlab提取它的原始矩阵中

时间:2011-09-22 09:04:19

标签: matlab

我有一个庞大的2D矩阵。 在从该2D矩阵中提取尽可能多的大小为8 * 8的子矩阵之后,我在子矩阵中进行了一些必要的修改。 现在我想通过用相应的新修改的子矩阵替换提取的子矩阵来重新构成原始2D矩阵。 提取的子矩阵中的每个元素的位置以及相应的新修改的子矩阵在原始2D矩阵中应该是相同的。 我怎么能用Matlab做到这一点? 谢谢。

1 个答案:

答案 0 :(得分:1)

% let's generate a big 100x100 matrix
big_matrix = rand(100, 100);

% the indices of an exemplary small matrix
sm_x = 20:27;
sm_y = 20:27

% the small matrix
small_matrix = big_matrix(sm_x:sm_y);

% let's modify the small matrix - replace this line with your own code
small_matrix(small_matrix > 0.5) = 1;

% let's write the modified small matrix back to the original position
big_matrix(sm_x:sm_y) = small_matrix;