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

2 vues (au cours des 30 derniers jours)
ozan aksu
ozan aksu le 20 Mar 2017
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

Réponse acceptée

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

Plus de réponses (1)

kowshik Thopalli
kowshik Thopalli le 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)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by