MATLAB Answers

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

38 views (last 30 days)
QIAO WANG on 22 Feb 2021
Commented: QIAO WANG on 24 Feb 2021
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);
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Accepted Answer

Jeff Miller on 22 Feb 2021
Edited: Jeff Miller on 22 Feb 2021
Try this:
pd = makedist('beta','a',50,'b',40);
fun = @(x) pdf(pd,x) .* log( pdf(pd,x) );
H = -integral(fun,0,1)
##### 1 CommentShowHide None
QIAO WANG on 24 Feb 2021
Thank you very much. This works perfectly.

Sign in to comment.

R2020a

### Community Treasure Hunt

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

Start Hunting!