How to integral a pdf of a continuous random variable to calculate its entropy

12 次查看(过去 30 天)
Hi guys,
I'm trying to figure out how to get the entropy of a probability distribution. It's the standard differential entropy and the formula is: , where is the probability denstiy function.
I have referred to integral function q = integral(fun,xmin,xmax) I'm confused how to define this fun? For instance, I'm dealing with Beta distribution and I have used the following code for its pdf. However, this y is just the evaluated values of x, not exactly a fun. I suppose I can't use this y directly. So, is there a way that I can create or transfer y to a fun that I can apply with integral? Please help me with it. Thanks in advance!
pd = makedist('beta','a',50,'b',40)
x = linspace(0,1,10000);
y = pdf(pd,x);

采纳的回答

Jeff Miller
Jeff Miller 2021-2-22
编辑:Jeff Miller 2021-2-22
Try this:
pd = makedist('beta','a',50,'b',40);
fun = @(x) pdf(pd,x) .* log( pdf(pd,x) );
H = -integral(fun,0,1)

更多回答(0 个)

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by