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

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!

 채택된 답변

Matt Fig
Matt Fig 2012년 12월 2일
편집: Matt Fig 2012년 12월 2일
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)

댓글 수: 1

have used '|' symbol to only differentiate as 1st column. but anyways thanks a ton matt!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기

질문:

2012년 12월 2일

Community Treasure Hunt

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

Start Hunting!

Translated by