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

2 Ansichten (letzte 30 Tage)
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

Akzeptierte Antwort

Star Strider
Star Strider am 3 Sep. 2022
M = [0.7,0.3,0];
Mmean = mean(M(M~=0))
Mmean = 0.5000

Weitere Antworten (1)

James Tursa
James Tursa am 3 Sep. 2022
Bearbeitet: James Tursa am 3 Sep. 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).

Kategorien

Mehr zu Error Functions finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by