How to calculate the mean value of the non vero value in a vector?

1 visualizzazione (ultimi 30 giorni)
How to calculate the mean value of the non vero value in a vector?
For example there is a vector contains 3 values M = [0.7,0.3,0]
the mean value in this case should be 0.5

Risposta accettata

Star Strider
Star Strider il 3 Set 2022
M = [0.7,0.3,0];
Mmean = mean(M(M~=0))
Mmean = 0.5000

Più risposte (1)

James Tursa
James Tursa il 3 Set 2022
Modificato: James Tursa il 3 Set 2022
Another way that doesn't require any data copying:
M = [0.7,0.3,0];
sum(M)/nnz(M)
ans = 0.5000
Be aware that if there are no non-zero elements, this will return NaN (same as Star's method).

Categorie

Scopri di più su Numerical Integration and Differential Equations 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