是否有内建函数可以删除Matlab中矩阵矩阵的第K行和第列?在Matlab中剔除矩形矩阵的部分
希望它从图中清晰:
alt text http://img121.imageshack.us/img121/8145/cutmatrix.png
是否有内建函数可以删除Matlab中矩阵矩阵的第K行和第列?在Matlab中剔除矩形矩阵的部分
希望它从图中清晰:
alt text http://img121.imageshack.us/img121/8145/cutmatrix.png
这里有两个简单的解决方案:
x([1:k-1 k+1:end],[1:k-1 k+1:end])
或者:
x(k,:)=[];x(:,k)=[];
不是内置函数,但是下面一行的伎俩:
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)];
如果要更频繁地使用此操作,创建函数是个不错的主意。
% filename: removeK.m
function M1 = removeK (M, k)
M1 = M([1:k-1 k+1:end],[1:k-1 k+1:end]);
end
@Ramashalanka - 你的第一行比我的优雅得多。我感到很傻,我没有看到我自己。 – mtrw 2010-03-05 00:25:35