# how can i compute std 2d

9 views (last 30 days)
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 CommentsShowHide 1 older comment like this image that explain the std

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 CommentsShowHide 1 older comment
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() 