How to plot a normalised cumulative histogram

Riti Patel · Jun 11, 2022 · 2.1K views
Question
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.
Expert Answer
Profile picture of Kshitij Singh
Kshitij Singh PhD Expert
Answered Aug 24, 2026

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 .

100% Run Guarantee 3-Hour Fast-Track Delivery

Need a Custom Version or Complete Simulation for This Problem?

Our 500+ PhD engineers build, debug, and optimize working MATLAB scripts and Simulink (.slx) models tailored to your exact assignment rubrics with zero plagiarism.

Tested on MATLAB R2024b / R2026a
Turnitin 0% Plagiarism Report
Free 7-Day Revisions Guarantee
Have a different question? Ask here

Get a Free Consultation or a Sample Assignment Review!