MATLAB Answers

How can I plot a relative frequency histogram in Matlab?

122 views (last 30 days)
I have developed a script to calculate the power fluctuation of a PV power plant. Basically, I'm calculating the magnitude of the power fluctuation dP, at an instant t, for a sampling period dt, as the difference between two power outputs, normalized to the nominal power Pnom of the plant, as follows:
dP( t ) = [ P( t + dt ) - P( t ) ] / Pnom.
I'm exporting 300 seconds of data from simulink to workspace and I want to plot relative frequency histograms for different sampling periods dt. Longer sampling timte dt implies in a smaller number of data inside this 300 seconds. So, i.e., for dt = 1 second I have 299 samples, for dt = 20 seconds, I have 280 samples. I have already calculated the power fluctuation dP( t ) and it can be observed in the figure below:
The vertical axis describe the percentual power fluctuation and these values can be larger sometimes. I want to plot a figure that describes the relative frequency of these power fluctuations. The figure below (I took from a paper) represents the relative frequency plots I want to apply to my data.
I appreciate any help!

Accepted Answer

William Rose
William Rose on 28 Jun 2021
Matlab's histogram() command is nice. Attached script shows how you could use it. It produces the plot below.

Sign in to comment.

More Answers (1)

William Rose
William Rose on 28 Jun 2021
The overlapping bars in the plot abve are potentially confusing to the viewer. Therefore I added some code to make a second plot, shown below. The data is the same, still presented as probabilities, but it is easier to understand, in my opinion. It is easy to modify this to show probabilities for more than two data sets. See attached code. The probabillities are different in this example because the random numbers are different on each run.
William Rose
William Rose on 2 Jul 2021
please email me at so i can reply by email

Sign in to comment.


Community Treasure Hunt

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

Start Hunting!