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

2 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

per isakson
per isakson il 23 Mar 2015
Modificato: per isakson il 23 Mar 2015
Is this what you look for
length(find(max(A,[],2)>1))
ans =
3

Più risposte (1)

Guillaume
Guillaume il 23 Mar 2015
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

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by