Finding the standard deviation for every single value in a matrix

17 views (last 30 days)
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 Comments
Abdulhakim Alezzi
Abdulhakim Alezzi on 5 May 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).

Sign in to comment.

Accepted Answer

Matt J
Matt J on 5 May 2020
Edited: Matt J on 5 May 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 Comments
Abdulhakim Alezzi
Abdulhakim Alezzi on 5 May 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 on 5 May 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);

Sign in to comment.

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!