资源简介
C++代码:
离散二维随机变换熵的计算
(1)利用random函数和归一化方法构造一个二维离散随机变量(X,Y);
(2)分别计算X与Y的熵、联合熵、条件熵:H(X)、
H(Y)、H(X,Y)H(X|Y)、I(X|Y);
代码片段和文件信息
#include
#include
#include
#include
#include
using namespace std;
void main()
{
int knt=0;
double a[4][4]b=0c=0;
srand((unsigned)time(NULL));
for(k=0;k<4;k++)
{
for(n=0;n<4;n++)
{
a[k][n]=rand()%100;
t+=a[k][n];
}
}
cout<<“从0到100间随机取得4行4列的random函数:“< for(k=0;k<4;k++)
{
for(n=0;n<4;n++)
{
cout< }
cout< }
cout<<“函数归一化:“< for(k=0;k<4;k++)
{
for(n=0;n<4;n++)
{
cout< }
cout< }
cout<<“H(Y)计算:“< int e=1;
for(k=0;k<4;k++)
{
double i=0g=0;
for(n=0;n<4;n++)
{
i+=(a[k][n]/t);
g+=(a[n][k]/t);
}
cout<<“P(Y“< ++e;
b-=(i*log(i)/log(2.0));
c-=(g*log(g)/log(2.0));
}
cout<<“H(Y)=-∑p(Y)log p(Y)=“< cout<<“H(X)=-∑p(X)log p(X)=“< cout<<“联合熵H(XY)计算:“< b=0;
int ruh=0;
for(k=0;k<4;k++)
{
for(n=0;n<4;n++)
{
if(a[k][n]!=0)
{
b-=((a[k][n]/t)*log(a[k][n]/t)/log(2.0));
}
else
{
r=ku=n;
h=1;
break;
}
}
}
if(h==0)
cout<<“H(XY)=-∑∑p(XY)log p(XY)=“< else cout<<“P(“< cout<<“条件熵H(X|Y)计算:“< b=0h=0;
for(k=0;k<4;k++)
{
double i=0;
for(n=0;n<4;n++)
{
i+=(a[k][n]/t);
}
for(n=0;n<4;n++)
{
if(a[k][n]!=0)
{
b-=((a[k][n]/t)*log((a[k][n]/t)/i)/log(2.0));
}
else {h=1;break;}
}
}
if (h==0){cout<<“H(X|Y)=-∑∑P(XY)log(P(XY)/P(Y))=“< else cout<<“P(“< cout<<“I(X|Y)计算:“< if(h==0)cout<<“I(X|Y)=H(X)-H(X|Y)=“< else cout<<“P(“< }
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1921 2009-11-13 14:47 3\3\3.cpp
文件 3903 2009-10-30 00:05 3\3\3.vcproj
文件 1427 2009-11-24 14:05 3\3\3.vcproj.072CDC729F894D0.dx.user
文件 663 2009-11-10 09:55 3\3\Debug\3.exe.em
文件 728 2009-11-10 09:55 3\3\Debug\3.exe.em
文件 621 2009-11-13 14:47 3\3\Debug\3.exe.intermediate.manifest
文件 49054 2009-11-13 14:47 3\3\Debug\3.obj
文件 6526 2009-11-13 14:47 3\3\Debug\BuildLog.htm
文件 67 2009-11-13 14:47 3\3\Debug\mt.dep
文件 183296 2009-11-13 14:47 3\3\Debug\vc90.idb
文件 217088 2009-11-13 14:47 3\3\Debug\vc90.pdb
文件 2214912 2009-11-24 14:05 3\3.ncb
文件 869 2009-10-29 22:28 3\3.sln
..A..H. 11264 2009-11-24 14:05 3\3.suo
文件 39424 2009-11-13 14:47 3\Debug\3.exe
文件 586248 2009-11-13 14:47 3\Debug\3.ilk
文件 609280 2009-11-13 14:47 3\Debug\3.pdb
目录 0 2009-11-13 14:47 3\3\Debug
目录 0 2009-11-13 14:47 3\3
目录 0 2009-11-11 23:44 3\Debug
目录 0 2009-11-11 22:50 3
----------- --------- ---------- ----- ----
3927291 21
评论
共有 条评论