是否可以同时删除矩阵的行和列?
示例:
M = magic(3)
M =
8 1 6
3 5 7
4 9 2
使用单行删除第2列和第2行以获取:
M =
8 6
4 2
答案 0 :(得分:7)
您可以为行索引和列索引提供索引数组,MATLAB将自动返回所有排列(通常是一个烦人的功能,但这里有一个好处)。
所以你可以这样做:
M([1 3], [1 3])
或者更灵活,您可以使用逻辑索引
M([true false true], [true false true])
或者更一般地说(可能有更多的行和列)
row = 2; % Could be an array of rows to exclude
column = 2; % Could be an array of columns to exclude
out = M(~ismember(1:size(M, 1), row), ~ismember(1:size(M, 2), column))