Cut parts of a square matrix in matlab

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

Hope this is clear from the diagram:

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

+4
source share
3 answers

Here are two simple solutions:

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

or

 x(k,:)=[];x(:,k)=[]; 
+7
source

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 
+2
source

Not a built-in 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)]; 
+1
source

Source: https://habr.com/ru/post/1303176/


All Articles