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

1 view (last 30 days)
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

Accepted Answer

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

More Answers (1)

kowshik Thopalli
kowshik Thopalli on 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!