Is there a way to extracted histogram data into a matrix instead of graph?

19 views (last 30 days)
Hello,
Is there a way to extract histogram data into a matrix instead of a graph?
for mer= start:Add:N_Mer
FileName_1 = ['Info_',num2str(N_Mer),'.mat'];
disp([FileName_1,' Running'])
M=load(FileName_1);
all_rows=cell2mat(struct2cell(M));
R_sqr{N_Mer}=all_rows(1,:);
FileName=(['hist_R2',num2str(N_Mer)]);
hist_R2{N_Mer}=histogram(R_sqr{N_Mer});
legend
hold on
end

Accepted Answer

Bryan
Bryan on 22 Nov 2019
Edited: Bryan on 22 Nov 2019
If you want to make a plot and also extract the values
% some data
foo = randn(10000,1);
% make a histogram named h
h = histogram(foo);
% get the values of the histogram
binedges = h.BinEdges;
binwidth = h.BinWidth;
bincounts = h.Values;
Alternatively, if you don't want a plot, but just want to extract histogram information
% some data
foo = randn(10000,1);
% extract histogram data
[bincounts, binedges] = histcounts(foo);
  7 Comments
Steven Lord
Steven Lord on 22 Nov 2019
The bin counts are fence rails/sections, the bin edges are the fence posts. See the Wikipedia page for "off by one error".
Ten bins would require eleven bin edges as shown in the picture in the "Fencepost error" section on that Wikipedia page.
Soma
Soma on 22 Nov 2019
Edited: Soma on 22 Nov 2019
Check this code with the below file please.
clc % To clear the screen
clear % To clear the Memory
t = tic;
time = [];
start = 8;
Add = 1;
Num_Mon = 8; % Total number of steps
for Num_monomers= start:Add:Num_Mon
FileName_1 = ['Info_',num2str(Num_monomers),'.mat'];
disp([FileName_1,' Running'])
M=load(FileName_1);
all_rows=cell2mat(struct2cell(M));
R_sqr=all_rows(1,:);
FileName=(['hist_R2',num2str(Num_monomers)]);
[bincounts, binedges] = histcounts(R_sqr);
bincentres = binedges(1:end-1)+diff(binedges)/2;
FileName = (bincounts);
FileName=histogram(R_sqr);
legend
hold on
end

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!