how can i compute std 2d

3 views (last 30 days)
RADWAN A F ZEYADI
RADWAN A F ZEYADI on 25 Feb 2022
Commented: Walter Roberson on 25 Feb 2022
Hi
iwould like to ask how can i obtain std along all the rows and columns as culored image that explain the values of std
the matrix dimension is 51 71 any suggestion ?
thanks
  2 Comments
RADWAN A F ZEYADI
RADWAN A F ZEYADI on 25 Feb 2022
like this image that explain the std

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 25 Feb 2022
Edited: Walter Roberson on 25 Feb 2022
data = randn(51, 71).*rand(51,71); %just some data
std_along_columns = std(data, [], 1); %one result for each column
std_along_rows = std(data, [], 2); %one result for each row
std_overall = std(data(:)); %over entire array
whos
Name Size Bytes Class Attributes data 51x71 28968 double std_along_columns 1x71 568 double std_along_rows 51x1 408 double std_overall 1x1 8 double
  2 Comments
Walter Roberson
Walter Roberson on 25 Feb 2022
You cannot. std means standard deviation which is property of groups of data, not of individual points. For example you can take the standard deviation along the rows and do a line plot of that.
In order to have a 2 dimension array of standard deviation results, you would have need to have started with a 3D array. For example,
cmap = flipud(hot(64));
data = sort(randn(51, 71, 83) .* rand(51, 71, 83),1); %just some data
s = std(data, [], 3);
imagesc(s); colormap(cmap)
colorbar()

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!