How to draw a histogram of my data?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have two vectors a and b, where they are as follows:
b=1:100;
a=1e-18:1e-15;
I want to draw a histogram of them such that a is on x-axis and b is on y-axis as shown in the given attachement.
2 commentaires
Jon
le 6 Oct 2020
I think this was answered previously in https://www.mathworks.com/matlabcentral/answers/102406-how-can-i-plot-a-histogram-with-a-logarithmic-x-axis
Réponse acceptée
Jon
le 6 Oct 2020
I'm not really sure what you are trying to make a histogram of. It looks like you just want to know how many equally spaced values there are between logarithmically spaced intervals. In this case you don't need the b vector, other than to look at its maximum value which would just set the maximum horizontal scale value. To make sure you don't exceed this value you have to choose your increment properly. Maybe you are looking for something like this?
numBins = 20;
maxCount = 100;
% calculate increment so that maxCount will not be exceeded
delta = (1e-15 - 1e-18)/(numBins*maxCount);
% generate your equally space data
a=1e-18:delta:1e-15;
% make your histogram
histogram(a,numBins)
set(gca,'xscale','log') %scale the x-axis logarithmically
7 commentaires
Jon
le 12 Oct 2020
If it will not run in the older version, then I assume that this feature was added in a more recent version. I don't have an older version to test in. Unless there is something preventing you from doing so I would highly recommend staying up to date with the current version to avoid such problems.
Jon
le 15 Oct 2020
If I have answered your question please accept this answer so that others who might have a similar question will know that an answer is availble.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Annotations dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!