How do I delete columns from a matrix based on an array

1 visualizzazione (ultimi 30 giorni)
I have matrix of A=[4 3 5 6 7; 1 4 8 4 7] and B=[3 6 7] and i want do delete columns of A which's first row contain the values of B and have the answer; A= [4 5; 1 8]
thank you

Risposta accettata

James Tursa
James Tursa il 20 Mar 2017
A(:,ismember(A(1,:),B)) = [];

Più risposte (1)

kowshik Thopalli
kowshik Thopalli il 20 Mar 2017
As you can imagine there is more than one way to do this. here is one method.Not elegant but works
A=[4 3 5 6 7; 1 4 8 4 7];B=[3 6 7];
[ismem index] = ismember(A(1,:),B)
i=repmat(index,[2,1]
A(i~=0)=[]
reshape(A,2,2)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by