How can i seperate columns by comparing the values of first row?

1 view (last 30 days)
I have a martix
A= 0 1 0 0 1 1 1 1 1 1
0 1 0 0 1 1 1 1 1 1
0 1 0 0 1 0 1 1 1 1
0 1 0 0 1 1 1 1 1 0
1 1 0 0 1 1 1 0 1 1
0 1 0 0 1 1 1 0 1 1
0 1 0 0 1 1 0 1 1 1
0 1 0 0 1 1 1 1 0 0
0 1 0 0 1 1 1 1 1 1
0 0 0 0 1 1 1 1 1 0
0 1 0 0 1 1 1 1 1 1
where, in compare to first row i want to have two separate matrix as B with all values which will have A(1,:)==0 and C with all values which will A(1,:)==1
In other words,from this example i want to separate 1st, 3rd and 4th column in a separate matrix and others in another matrix.

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 18 May 2016
t = A(:,1) == 0;
B = A(:,t)
C = A(:,~t)

More Answers (1)

ahsan mahmood
ahsan mahmood on 18 May 2016
clc;
clear all;
A=[1 1 0;1 2 5;3 6 8;5 4 2];
j=1;
k=1;
nn=size(A);
for i=1:nn(2)
if A(1,i)==1
C(:,j)=A(2:end,i);
j=j+1;
else
B(:,k)=A(2:end,i);
k=k+1;
end
end

Community Treasure Hunt

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

Start Hunting!