是否有内置函数在Matlab中删除方阵的Kth行和列?
希望从图表中清楚地看出:
alt text http://img121.imageshack.us/img121/8145/cutmatrix.png
答案 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)];