I want the number of rows that have bigger than 0 or 1

조회 수: 2 (최근 30일)
Giannakis Stoukas
Giannakis Stoukas 2015년 3월 23일
댓글: per isakson 2015년 3월 23일
For example i have the matrix A=[2 3 1; 4 7 6; 1 9 1; 1 0 1] and i want the overall number of the rows that have bigger than 1 price. To this exammple the number i should get is 3,because the max price of the last row is 1.

채택된 답변

per isakson
per isakson 2015년 3월 23일
편집: per isakson 2015년 3월 23일
Is this what you look for
length(find(max(A,[],2)>1))
ans =
3

추가 답변 (1개)

Guillaume
Guillaume 2015년 3월 23일
sum(any(A > 1, 2))
Basically,
  • A > 1 compare the matrix to 1, this returns a matrix of logical
  • any(X, 2) returns a column vector that is true if any of the row element is true, so any(A>1, 2) is a column with 1 for any row that as at least one element >1.
  • sum(X) sums all the ones for the rows that have at least one element greater than 1, so is the number of rows that you want

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by