How to plot a normalised cumulative histogram
44 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Riti Patel
am 24 Apr. 2015
Kommentiert: Brendan Hamm
am 28 Apr. 2015
I've got a vector of data of length around 5000000. I'm trying to plot a cumulative histogram of this data. I've previously plotted a normalised histogram using the trapz command:
[f,z]=hist(CharPoly,1000000);
bar(z,f/trapz(z,f))
where CharPoly is the data vector. That worked fine but I'm now looking to plot a cumulative histogram from this data and I can't figure out how to incorporate either cumsum or cumtrapz into this.
Thanks!
0 Kommentare
Akzeptierte Antwort
Brendan Hamm
am 24 Apr. 2015
Bearbeitet: Brendan Hamm
am 24 Apr. 2015
If using 2014b or higher you can use the histogram command:
histogram(CharPoly,'Normalization','cdf')
If prior to 2014b use hist and bar:
[f,z]=hist(CharPoly,1000000);
% Make pdf by normalizing counts
% Divide by the total counts and the bin width to make area under curve 1.
fNorm = f/(sum(f)*(z(2)-z(1)));
% cdf is no cumulative sum
fCDF = cumsum(fNorm);
bar(z,fCDF) % display
This is done from my head, but I believe this is correct.
3 Kommentare
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
