Finding the standard deviation for every single value in a matrix

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

It seems Homework. Please share your efforts, so that we can help you.
Read about functions mean and std.
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).

댓글을 달려면 로그인하십시오.

 채택된 답변

Matt J
Matt J 2020년 5월 5일
편집: Matt J 2020년 5월 5일
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

Thank you very much. It works perfectly.
Do you have any idea how to find the std if the matrix has 3D size (NxNxM)?
You mean you have 10 arrays X1,..X10, all of them NxNxM?
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.
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);

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기

제품

릴리스

R2019a

태그

질문:

2020년 5월 5일

댓글:

2020년 5월 5일

Community Treasure Hunt

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

Start Hunting!

Translated by