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

communicationMATLABsignal processing

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)

Best 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')