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

3 views (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

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!