How can I plot a relative frequency histogram in Matlab?

18 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.
  4 Comments
THANGARASU P
THANGARASU P on 17 May 2022
Edited: THANGARASU P on 17 May 2022
Above concept really helps to find fluctuation...can you share me fluctutation reference material or published paper for reference
William Rose
William Rose on 17 May 2022
I am glad that the above concept and code are helpful for understanding and estimating fluctuation. The analysis of fluctuations above is not based on any particular references or journal articles. It is based on defining fluctuation as the absolute value of the fractional deviation from the mean value.
One could define fluctuation differently, depending on the situation and goals. For example, you might choose not to take the absolute value. Or you might choose not to divide by the mean vaue of x. And so on. Those choices depend on what is most useful to you.

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.
  6 Comments
Eric Bernard Dilger
Eric Bernard Dilger on 2 Jul 2021
Edited: Eric Bernard Dilger on 2 Jul 2021
Thanks for the compliment. Actually, sometimes I need to look for some words on google, but I'm practicing a lot while reading so many papers. Unfortunatelly, due to the covid pandemic, our classes still have not come back yet and we are in homework (once our vaccination is not going so fast). So I'm writing from a city very near to Pato Branco, Brasil until our classes come back. I'm studying for my master degree in a very good institution named Federal University of Technology - Paraná. Renewable energy is one of our knowledge areas and there are many good works being produced here. By the way, California is always innovating on the electric power system. CAISO is one of the references I'm always taking a look, due to the good stuff coming from there. I'd really like to visit California in the future, and I'd also like to visit Florida to watch some rocket lauches.
I'll take your suggestion to better analyze the simulated and the real data. I'm note sure if I'm correct when comparing generated histograms with this kind of kurtosis below. The time structure doesn't matter to me, I'm only interested in the power fluctuation and the relative frequency each fluctuation occurs, so I can adjust the cloud thickness and the wind velocity, tunning my algorithm to generate as much realistic data as possible. Another problem is that I'm not able to generate a full year of data, as it's represented by the figure below. You know, along the year we have different seasons, irradiance values, wind velocity and shaded areas. So I'm interested in tunning my algorithm to the worst case of irradiance, that may occurs at the midday of a summer day.
William Rose
William Rose on 2 Jul 2021
please email me at rosewc@udel.edu 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!