How do I create a histogram with y axis being count, and x-axis being 20 different possible values?

2 次查看(过去 30 天)
Hello,
I have a 76x76 matrix that I would like to convert into a histogram. All the values in it range from -1 to 1, but I only want to use the top triangle values, triu(A,1).
so I would like 21 beams on X-axis ranging from -1,-0.9,-0.8...,0.8,0.9,1.0. The Y-axis will be the amount of entries in the matrix that fit in that particular beam, e.g. 0.62 and 0.60 would both be in the 0.6 beam.
Thank you very much.

采纳的回答

Image Analyst
Image Analyst 2016-8-24
I assume you tried the really obvious route -- the histogram() function. So you'll have to let us know why this isn't working for you.
upperTriangle = logical(triu(ones(size(A)), 1));
edges = -1 : 0.1 : 1;
histogram(A(upperTriangle), edges);
grid on;
xlabel('Value');
ylabel('Count');
Why doesn't this work? It seems simple enough, and seems like it should work.
  6 个评论
Image Analyst
Image Analyst 2016-8-25
Plus, you can't call your function histogram(). There is already a function called histogram(), and you just destroyed it. So now your histogram() function calls itself recursively - NOT what you want.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Histograms 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by