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

2 次查看(过去 30 天)
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