本节将绘制二进制熵函数曲线,并且包含三进制的熵函数图示。二进制熵函数定义为H(p) = -plog2(p) - (1-p)log2(1-p),而三进制熵函数则为H(p) = -p1log3(p1) - p2log3(p2) - p3*log3(p3)。接下来,我们使用Matlab进行实现。
% 二进制熵函数
p = 0:0.01:1;
H_bin = -p.*log2(p) - (1-p).*log2(1-p);
H_bin(p==0) = 0; H_bin(p==1) = 0; % 避免计算log(0)
% 三进制熵函数
p1 = 0:0.01:1;
p2 = 1 - p1;
p3 = 0.5;
H_tri = -p1.*log3(p1) - p2.*log3(p2) - p3.*log3(p3);
H_tri(p1==0 | p2==0) = 0; % 避免计算log(0)
% 绘图
figure;
subplot(2,1,1);
plot(p, H_bin);
title('二进制熵函数');
xlabel('p');
ylabel('H(p)');
subplot(2,1,2);
plot(p1, H_tri);
title('三进制熵函数');
xlabel('p1');
ylabel('H(p1,p2,p3);');
图中分别展示了二进制熵和三进制熵的变化情况,直观地反映了熵的性质。