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

3 vues (au cours des 30 derniers jours)
suchismita
suchismita le 18 Mai 2016
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.

Réponse acceptée

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

Plus de réponses (1)

ahsan mahmood
ahsan mahmood le 18 Mai 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

Catégories

En savoir plus sur Resizing and Reshaping Matrices 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