裁剪矩阵

Xit*_*rum 0 matlab octave

例如,我有一个6x6矩阵,然后我想取出位于该矩阵中心的小矩阵,比如2x2.有没有聪明的方法呢?或者我必须遍历旧矩阵然后将值复制到新矩阵?
非常感谢你.

Aco*_*rbe 5

当然可以.试试吧

A = rand(6,6);  % // big matrix, an example
B = A(3:4,3:4); % // central sub matrix obtained using indices
Run Code Online (Sandbox Code Playgroud)

其中(在这种情况下)也相当于

B = A([3 4],[3 4]);
Run Code Online (Sandbox Code Playgroud)

通常,您可以从矢量中提取子矢量,选择您感兴趣的索引.