Clear Filters
Clear Filters

how to create 2 matrices from 1 matrix depending on values 0 & 1, displayed in first column of 1st matrix?

1 view (last 30 days)
I have a matrix like this
A = [1 | 3 4 5 6 7 8 9;
0 | 4 5 6 9 1 4 6;
1 | 3 1 5 1 7 1 9;
0 | 6 5 6 1 1 4 1];
first column has values 0 & 1
I want to create new matrices from the index of first column i.e. for 1 above will be like
B = [3 4 5 6 7 8 9;
3 1 5 1 7 1 9];
and for value 0
C = [4 5 6 9 1 4 6;
6 5 6 1 1 4 1];
can some one please guide me how to achieve this in Matlab, been trying a lot to do but the C coding aspects are not helping me much.
Please some one? thanks!

Accepted Answer

Matt Fig
Matt Fig on 2 Dec 2012
Edited: Matt Fig on 2 Dec 2012
Now I think I see what you did. You probably did not realize that the | symbol evaluates to logical OR when someone copies and pastes your code.... So leave that out, it is just confusing...
A = [1 3 4 5 6 7 8 9;
0 4 5 6 9 1 4 6;
1 3 1 5 1 7 1 9;
0 6 5 6 1 1 4 1]
A_ones = A(A(:,1)==1,2:end)
A_zeros = A(~A(:,1),2:end)

More Answers (0)

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!