Perofrming statistics over non-zero elements of mXn array

I would like to perform statistics, e.g. averaging (or any other function, for that matter), over the non-zero elements of an mXn array with more than one column. For example:
so that the result will then be a vector of length n. How is this possible without using a for/loop?

Respuestas (1)

Adam
Adam el 10 de Feb. de 2017
array( array == 0 ) = NaN;
nanmean( array )

2 comentarios

Saeid
Saeid el 10 de Feb. de 2017
I need to have the financial or statistic toolbox to perform this.
Adam
Adam el 10 de Feb. de 2017
Editada: Adam el 10 de Feb. de 2017
If you have a recent enough version of Matlab then
mean( array, 'omitnan' )
should do the same. It is hard to find out when additions like this were made to functions that have been around for ages though, unlike brand new functions where we can tell from the 'Introduced...' text at the bottom of the documentation page.
Looks like you need R2015a or later for this version of mean

Iniciar sesión para comentar.

Categorías

Etiquetas

Preguntada:

el 10 de Feb. de 2017

Editada:

el 10 de Feb. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by