Standard deviation of all matrix elements (single value)

15 visualizaciones (últimos 30 días)
Joachim Schmid
Joachim Schmid el 2 de Mzo. de 2015
Comentada: Adam el 2 de Mzo. de 2015
I have a random matrix X and I am looking for the standard deviation considering all elements; however I am asked (by a text book, learning Matlab) not to use loops. The result should be one single value.
std(X) gives a matrix of standard deviation of all columns which is not what I am looking for. (something corresponding to m=mean(mean(X)) it is not working for the standard deviation)
PS: sorry for asking this simple question; I did some search on this topic but couldn't find useful hints.
Thank you for your help!

Respuestas (3)

Adam
Adam el 2 de Mzo. de 2015
Editada: Adam el 2 de Mzo. de 2015
std( X(:) )
should give you the standard deviation of all elements in a matrix, X, of any shape.
This is also generally better for mean since it works for any dimensionality rather than mean( mean( X ) ) which is hard-coded as 2d.
  1 comentario
Adam
Adam el 2 de Mzo. de 2015
Please add a comment to an answer rather than a new answer (it is a mistake many make though, not just you!).
The syntax
X(:)
simply collapses your array into a column so that the std command (or any other similar command) will produce a single answer as it would on a normal column array. For statistics where the 2d or n-d structure of the data is irrelevant this works well. Obviously it needs more manipulation for functions where the 2d structure matters.

Iniciar sesión para comentar.


Torsten
Torsten el 2 de Mzo. de 2015
Use "reshape" to get an (N*M,1) column vector from the (N,M)-matrix.
Best wishes
Torsten.

Joachim Schmid
Joachim Schmid el 2 de Mzo. de 2015
Thank you very much Torsten and Adam! Adam, now I have to understand the command.

Categorías

Más información sobre Creating and Concatenating Matrices 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