How to select certain columns of a matrix only when the first two rows always show 1 and the other two rows a 0?

조회 수: 13 (최근 30일)
Hi everybody!
I have a Matrix with 4 rows and 922 columns M(4,2300) containing ones and zeros as shown below
1 0 1 1 ...
1 0 1 1 ...
0 0 0 1 ...
0 0 0 0 ...
I want to keep only the columns when the first two rows show a 1 and row three and four show a zero.
In the example above column 1 and 3 fulfill the conditions whereas column 2 and 4 don't.
Does somebody have a nice idea to write a simple code to extract the columns to have an output for the example above like: [1 0 1 0]?
Thanks a lot for your help guys!!!

채택된 답변

Jalaj Gambhir
Jalaj Gambhir 2020년 10월 1일
Hi,
Use:
col = find(all(matrix(1:4,:)==[1;1;0;0]))
This will give you all the columns that satisfy this condition. You can then use
matrix(:,col)
to extract those columns from the matrix.
Hope this helps!
  댓글 수: 1
Kim Arnold
Kim Arnold 2020년 10월 1일
Thanks for your answer :)
I did it with find(all(matrix(1:2,:)==1 & matrix(3:4,:)==0)); which is basically the same as you did :)

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Shifting and Sorting Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by