Finding the standard deviation for every single value in a matrix

5 visualizzazioni (ultimi 30 giorni)
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 Commenti
Abdulhakim Alezzi
Abdulhakim Alezzi il 5 Mag 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).

Accedi per commentare.

Risposta accettata

Matt J
Matt J il 5 Mag 2020
Modificato: Matt J il 5 Mag 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 Commenti
Abdulhakim Alezzi
Abdulhakim Alezzi il 5 Mag 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 il 5 Mag 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);

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange

Prodotti


Release

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by