How to plot a normalised cumulative histogram
조회 수: 57 (최근 30일)
이전 댓글 표시
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
채택된 답변
Brendan Hamm
2015년 4월 24일
편집: Brendan Hamm
2015년 4월 24일
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
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
