standard deviation of two elements of a 3d matrix

1 view (last 30 days)
Greetings,
I have a 672 x 32 x 2800 matrix that I need to chop into a 672 x 2800 matrix but the rows need to be the standard deviation of the columns in the original 3d matrix. Here is what I am doing which is all wrong
new_col_data = zeros(672,2800);
new_col_data = [std(data, 0, 2),:]
I cannot figure this out. Can someone please tell me what is wrong?
Thank you

Accepted Answer

Shashank Prasanna
Shashank Prasanna on 28 Jun 2013
Edited: Shashank Prasanna on 28 Jun 2013
A = rand(672,32,2800); % Some random data:
B = std(A,[],2); % Compute the standard deviation
B = squeeze(B); % Squeeze it

More Answers (2)

Sean de Wolski
Sean de Wolski on 28 Jun 2013
Sounds like you want to squeeze it!
squeeze(std(rand(60,30,45),0,2))

William
William on 28 Jun 2013
I tried this:
>> new_col_data = squeeze(std(data,0,2),:);
Error using var (line 59)
First argument must be single or double.
Error in std (line 32)
Something went wrong. I do not have a single dimension in this matrix
  1 Comment
Sean de Wolski
Sean de Wolski on 28 Jun 2013
Mine doesn't have a squeeze(blah,:). It's supposed to jsut be squeeze(blah)

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!