standard deviation of two elements of a 3d matrix

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

A = rand(672,32,2800); % Some random data:
B = std(A,[],2); % Compute the standard deviation
B = squeeze(B); % Squeeze it

More Answers (2)

Sounds like you want to squeeze it!
squeeze(std(rand(60,30,45),0,2))
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

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!