how to calcuate mean with NaN
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Peihong
el 12 de Sept. de 2013
Comentada: Esen S.
el 21 de Abr. de 2020
Dear Friend,
There are two matrixs with the same size, there are some NaNs in each matrix. I want to calculate the mean of corresponding datapoints, which might contain NaN. for example, A(1,2)=NaN, B(1,2)=3, I need the average of the sum of 3+NaN divided by the effective number of data points, here is 1 since A(1,2) is NaN, to be 3. If A(2,2)=2,B(2,2)=5, I need the average to be (2+5)divided by 2, which equals 3.5 since neither A(2,2) and B(2,2) contains NaN. Is there a way to achieve this goal without using a for loop? thanks
0 comentarios
Respuesta aceptada
Sven
el 12 de Sept. de 2013
Editada: Sven
el 12 de Sept. de 2013
If you have the Statistics Toolbox, just replace calls to mean() with calls to nanmean().
Here's an example:
A = reshape(1:4,2,2);
B = A + 10;
A([1 3]) = nan % Set some NaNs
B([1 2]) = nan
yourMean = nanmean(cat(3,A,B),3)
Which results in:
A =
NaN NaN
2 4
B =
NaN 13
NaN 14
yourMean =
NaN 13
2 9
Más respuestas (2)
Shashank Prasanna
el 12 de Sept. de 2013
You can use the NANMEAN function part of the Statistics Tbx:
0 comentarios
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!