How to compute the standard deviation of each column in a matrix?
21 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have some code that creates a matrix of data points and then computes the average value for each column and plots these average values. However, I want to add some error bars to my graph where each error bar represents the standard deviation across each column entry in the original matrix. Is there a concise way to compute the standard deviation for each column so that I can store it and use these standard deviations to make a plot (using something like 'errorbar(x, y, err)'? Thanks!
0 commentaires
Réponses (2)
the cyclist
le 27 Août 2021
Modifié(e) : the cyclist
le 27 Août 2021
If A is your array, then
s = std(A)
is a row vector, where each element is the standard deviation of the corresponding column. See the documenation for std for details.
Also, be sure to be clear about whether your error bars represent the standard deviation or the standard error of the mean.
2 commentaires
the cyclist
le 29 Août 2021
You could use the isnan function to keep track of how many elements are NaN. So, calculate the standard deviation, and divide by the square root of the number of elements that are not NaN.
Steven Lord
le 28 Août 2021
To be certain that you're taking the std over each column, specify the dim input argument as described on the documentation page for the std function.
0 commentaires
Voir également
Catégories
En savoir plus sur Errorbars dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!