ntimes
ntimes

Reputation: 1279

Chop out parts of a square matrix in Matlab

Is there an inbuilt function that removes the Kth row and column of a square matrix in Matlab?

Hope it's clear from the diagram:

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

Upvotes: 4

Views: 712

Answers (3)

user286405
user286405

Reputation: 61

If you want to use this operation more often, creating a function is a good idea.

% filename: removeK.m

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

Upvotes: 2

Ramashalanka
Ramashalanka

Reputation: 8864

Here are two simple solutions:

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

or:

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

Upvotes: 7

mtrw
mtrw

Reputation: 35098

Not a builtin function, but the following line does the trick:

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)];

Upvotes: 1

Related Questions