之前我在matlab里面跑程序的时候遇到过 变量会随迭代次数改变,请预分配内存以提高计算速度 的warning。只不过当时不清楚替换矩阵特定范围如何操作,因此将就了A=[A;B]这种形式来拼接。不过这样是无法消除warning的。
要替换特定范围内的矩阵,其实与选定矩阵某行某列是一样的。
例如:
对一个5X8的矩阵A,假如我要用一个3X3的矩阵B替换A中第二行第三列到第四行第五列的元素。
那么,可以写为
A(2:4,3:5)=B;
如果是提取矩阵前n行,或者后n行:
B=A(1:n,:); %提取矩阵前n行
C=A(end-n+1:end,:); %提取矩阵后n行