How i can plot the entropy function H(p1,p2,p3) for three vector of probability p1, p2 and p3= (1-p1-p2)

hello every one.
How i can plot the entropy function H(p1,p2,p3) for three vector of probability p1, p2 and p3= (1-p1-p2) ... I tried this script but it seems to be wrong! could any one help me plz Many Thanks
clear all
clc
p_0=[0:0.01:0.5];
p_1=[0:0.01:0.5];
[P_0,P_1] = meshgrid(p_0,p_1);
H = (-P_0.*log2(P_0)-(P_1).*log2(P_1)-(1-P_0-P_1).*log2((1-P_0-P_1)));
surf(P_0,P_1,H)

3 Comments

"it seems to be wrong"
MATLAB just plot what you tell it to the plot. If it seems wrong please tell why you think so. If it is wrong, there is a high chance that you wrote the equation wrong. Can you attach the image of the actual equation?
the correct answer supposed to be as the attached page from "Information Theory Jan C. A. van der Lubbe"

Sign in to comment.

 Accepted Answer

Your formula does not include the term -(1-P_0-P_1).*log2((1-P_0-P_1)), For 2D case, you can get something similar using this.
clear all
clc
p_0=0:0.01:1;
p_1=0:0.01:1;
[P_0,P_1] = meshgrid(p_0,p_1);
H = -P_0.*log2(P_0)-(P_1).*log2(P_1);
contour(P_0,P_1, H, 'ShowText', 'on')

1 Comment

im using 3 outcome probabilities which is p_0,p_1,p2=1-p_0-p_1 thats why im using this -(1-P_0-P_1).*log2((1-P_0-P_1)). Thank you

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!