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

2 visualizaciones (últimos 30 días)
ozan aksu
ozan aksu el 20 de Mzo. de 2017
Comentada: kowshik Thopalli el 20 de Mzo. de 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

Respuesta aceptada

James Tursa
James Tursa el 20 de Mzo. de 2017
A(:,ismember(A(1,:),B)) = [];

Más respuestas (1)

kowshik Thopalli
kowshik Thopalli el 20 de Mzo. de 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)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by