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

2 visualizaciones (últimos 30 días)
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

Respuesta aceptada

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

Más respuestas (1)

James Tursa
James Tursa el 3 de Sept. de 2022
Editada: James Tursa el 3 de Sept. de 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).

Categorías

Más información sobre Error Functions en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by