在Matlab中切出方形矩阵的一部分

时间:2010-03-04 23:34:06

标签: matlab matrix

是否有内置函数在Matlab中删除方阵的Kth行和列?

希望从图表中清楚地看出:

alt text http://img121.imageshack.us/img121/8145/cutmatrix.png

3 个答案:

答案 0 :(得分:7)

以下是两个简单的解决方案:

x([1:k-1 k+1:end],[1:k-1 k+1:end])

或:

x(k,:)=[];x(:,k)=[];

答案 1 :(得分:2)

如果您想更频繁地使用此操作,创建函数是个好主意。

% filename: removeK.m

function M1 = removeK (M, k)
  M1 = M([1:k-1 k+1:end],[1:k-1 k+1:end]);
end

答案 2 :(得分:1)

不是内置函数,但以下行可以解决问题:

y = [x(1:(k-1),1:(k-1)) x(1:(k-1),(k+1):end) ; x((k+1):end,1:(k-1)) x((k+1):end,(k+1):end)];