The expression v>0 creates a logical array of 1s and 0s, with a 1 for every element of v that is greater than zero. Summing all values in the logical array therefore gives the total number of elements greater than zero.
(By the way, the rand function only generates positive numbers between 0 and 1, so to create random numbers between -1 and 1, you would use 1-2*rand.)
Thank you for the answer, but in my case i don't want to have a count of all the vector elements which are greater than zero. I'd like to count if and only if at least one element of the vector is greater than zero.
For example if i have the vector v=[0,20,10,0,100] there's at least one element greater than zero and so i count.
I see - in this case, using the any function like you suggested would be the way to go. Test if at least one element of v is greater than zero and then increase the count variable accordingly:
if (any(v>0)) % returns true if at least one element of v is greater than zero
Impossibile completare l'azione a causa delle modifiche apportate alla pagina. Ricarica la pagina per vedere lo stato aggiornato.
Translated by
Seleziona un sito web
Seleziona un sito web per visualizzare contenuto tradotto dove disponibile e vedere eventi e offerte locali. In base alla tua area geografica, ti consigliamo di selezionare: .
Puoi anche selezionare un sito web dal seguente elenco:
Come ottenere le migliori prestazioni del sito
Per ottenere le migliori prestazioni del sito, seleziona il sito cinese (in cinese o in inglese). I siti MathWorks per gli altri paesi non sono ottimizzati per essere visitati dalla tua area geografica.