Finding the required number of high frequency values from histogram

2 views (last 30 days)
I have a 60032x1 matrix. With the data I have, I made a histogram. I want the three most repeating values from it. I want the bin centres so that i can plot another graph with it.
Can someone help me with this? Thanks in advance :)

Accepted Answer

Chunru
Chunru on 23 Sep 2021
a = [randn(10000,1)-5; randn(10000,1); randn(10000,1)+5];
histogram(a)
[y,edges] = histcounts(a);
% Use the center of edges as x-axis
x = (edges(1:end-1) + edges(2:end))/2; % bin centre
figure
plot(x, y)
[pks,locs] = findpeaks(y, x)
pks = 1×3
1929 1951 1909
locs = 1×3
-5.2500 0.2500 5.2500
hold on
plot(locs, pks, '*')
  1 Comment
pratapaneni Chetan
pratapaneni Chetan on 23 Sep 2021
Edited: pratapaneni Chetan on 23 Sep 2021
Thank you for helping me out but when I meant i want to plot another graph, I meant that i want to plot the graph of some other matrix vs the peak's corresponding locs. How can this be done?
Note: the other matrix's dimension is 60032x1

Sign in to comment.

More Answers (0)

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!