下面是部分代码 计算m与m2的互信息mi
m=[78.3 13.2 4.32 4.32 72 24.5 33.9 679 143 20 26.7 46.9 230 159.8 128 215.6 139 139 70.2 129.6 ]
mm=hist(m)/10;
mm
mm(mm==0) = [ ];
mm
Hm = -sum(mm.*log2(mm));
Hm
m2=[78.61 96.98 81.86 82.91 81.35 83.95 78.76 85.72 83.98 84.47 84.73 76.14 124.69 124.69 124.69 623.47 124.69 124.69 18.75 630.02 ]
format shortG %这个1.0e+03 *是“1000乘”的意思你可以调整显示格式:format shortg或者format longg更多显示格式参见format函数的说明
m2
if max(max(m2))~=min(min(m2))
m2 = (m2-min(min(m2)))/(max(max(m2))-min(min(m2)));
end
m2
mm2=hist(m2)/10;
mm2
mm2(mm2==0) = [ ];
mm2
Hm2 = -sum(mm2.*log2(mm2));
Hm2
% 联合熵
for i=1:length(mm)
for j=1:length(mm2)
L(i,j)=mm(i)*mm2(j);
end
end
Hab=-sum(sum(L.*log2(L)));
disp('Hab信源联合熵为:');
Hab
%计算a和b的互信息
mi =( Hm+Hm2)-Hab;
mi
这是什么呢
本回答被网友采纳