Есть ли встроенная функция, которая удаляет Kth строку и столбец квадратной матрицы в Matlab?Вырезать части квадратной матрицы в Matlab
Надежда это видно из диаграммы:
alt text http://img121.imageshack.us/img121/8145/cutmatrix.png
Есть ли встроенная функция, которая удаляет Kth строку и столбец квадратной матрицы в Matlab?Вырезать части квадратной матрицы в 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