Finding the standard deviation for every single value in a matrix

5 vues (au cours des 30 derniers jours)
Abdulhakim Alezzi
Abdulhakim Alezzi le 5 Mai 2020
Commenté : Matt J le 5 Mai 2020
Hi Everyone,
I have a 10 matrices X1, X2,X3......X10. Each matrix has a size of (512x30).
1- i want to calculate the mean for all , and the output matrix must be in the same size as input (512x30).
2- Then, i want to calculate the standard deviation for all , and the output matrix must be in the same size as input (512x30).
Any help will be apperciated.
  3 commentaires
KSSV
KSSV le 5 Mai 2020
Read about functions mean and std.
Abdulhakim Alezzi
Abdulhakim Alezzi le 5 Mai 2020
I have used these functions, i have calculated the mean and std by :
mymean= mean (x);
mystd= std (mymean);
but the output was a matrix of (1x30).

Connectez-vous pour commenter.

Réponse acceptée

Matt J
Matt J le 5 Mai 2020
Modifié(e) : Matt J le 5 Mai 2020
X=cat(3, X1,X2,X3,X4,X5,X6,X7,X8,X9,X10); %It was a mistake to create 10 separate matrices.
MeansX=mean(X,3),
StdX = std(X,[],3)
  5 commentaires
Abdulhakim Alezzi
Abdulhakim Alezzi le 5 Mai 2020
X = rand(30,30,512); % Some random data:
B = std(A,[],2); % i got a matrix with 30x1x512.
I want to find get B with a matrix size of 30x30x512.
Matt J
Matt J le 5 Mai 2020
Well as before, you should not have 10 separate variables. You should have a 4D array containing all of your data and then just take std() along the 4th dimension, e.g.,
A=rand(30,30,512,10);
B=std(A,[],4);

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange

Produits


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by