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 件のコメント

KALYAN ACHARJYA
KALYAN ACHARJYA 2020 年 5 月 5 日
It seems Homework. Please share your efforts, so that we can help you.
KSSV
KSSV 2020 年 5 月 5 日
Read about functions mean and std.
Abdulhakim Alezzi
Abdulhakim Alezzi 2020 年 5 月 5 日
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 日

0 投票

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 件のコメント

Abdulhakim Alezzi
Abdulhakim Alezzi 2020 年 5 月 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)?
Matt J
Matt J 2020 年 5 月 5 日
You mean you have 10 arrays X1,..X10, all of them NxNxM?
Abdulhakim Alezzi
Abdulhakim Alezzi 2020 年 5 月 5 日
yes
Abdulhakim Alezzi
Abdulhakim Alezzi 2020 年 5 月 5 日
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 2020 年 5 月 5 日
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 ExchangeResizing and Reshaping Matrices についてさらに検索

製品

リリース

R2019a

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by