help with standard deviation 3d matrix

조회 수: 4 (최근 30일)
itend
itend 2017년 6월 11일
댓글: itend 2017년 6월 11일
I have a 3D matrix of size (600 x 800 x 322) unit 16.
I would like to take the standard deviation of each 600 x 800 matrix -- I am trying to get a result matrix size 1 x 1 x 322 containing the standard deviation of each matrix in this "stack".
I have tried using the std and std2 function, but haven't been able to get this to work.
Please help :)

채택된 답변

Walter Roberson
Walter Roberson 2017년 6월 11일
stack_std = reshape(std( reshape( double(YourMatrix), [], size(YourMatrix,3) ) ), 1, 1, []);

추가 답변 (1개)

the cyclist
the cyclist 2017년 6월 11일
Reshape the matrix before taking the standard deviation, then reshape back:
M = rand(600,800,322);
M_r = reshape(M,480000,322);
sd_r = std(M_r);
sd = reshape(sd_r,[1 1 322]);

카테고리

Help CenterFile Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by