- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息论实验信息熵函数的计算
信息熵函数的计算
一. 实验目的 任选C语言,C++,或MATLAB等一种语言编写程序,计算信息熵、条件熵、联合熵,并通过1~2个运行的结果,验证程序的正确性。
通过编程实现信息论的一些基本计算,熟悉和理解信息论基本概念。 二. 实验内容 编写程序实现:
输入:信源分布,信道转移概率矩阵
其中;
输出:信源熵,条件熵,联合熵。 三. 实验方案或步骤(程序设计说明) 实验选用C语言编程,用一维数组存储信源分布数据,二维数组存储信道转移概率矩阵。利用循环(嵌套)语句计算以下公式并输出需要的结果:
,
, 四. 实验程序(经调试正确的源程序#include stdio.h
#include stdlib.h
#include math.h
#define M 20 //最大行数
#define N 20 //最大列数
/*求以2为底x为顶的对数*/
float log2(float x)
{ return log(x)/log(2);}//log2(x)
/*主函数*/
void main()
{ int m,n,i,j;
float H_X,H_X_Y,H_Y_X,H_XY;//H(X),H(X|Y),H(Y|X),H(XY)
float P_X_Y,P_Y_X,P_XY;//P(X|Y),P(Y|X),P(XY)
float P_X[M],P_Y[N],matrix[M][N];//信源分布P(X),P(Y),信道转移概率矩阵
while(1)
{
printf(\n请输入信源分布的元素个数 m:);
scanf(%d,m);
printf(\n输入信源分布:);
for(i=0;im;i++)
scanf(%f,P_X[i]);
printf(\n输入的信源分布为:);
for(i=0;im;i++)
printf(%10f,P_X[i]);
printf(\n\n请输入信道转移概率矩阵列数 n:);
scanf(%d,n);
printf(\n请按行序输入矩阵元素:);
for(i=0;im;i++)
for(j=0;jn;j++)
scanf(%f,matrix[i][j]);
printf(\n输入的矩阵为:);
for(i=0;im;i++)
{ printf(\n);
for(j=0;jn;j++)
printf(%10f,matrix[i][j]);}
//信息熵H(X)
H_X=0;
for(i=0;im;i++)
H_X=H_X-P_X[i]*log2(P_X[i]);
printf(\n\n信息熵H(X)=%f,H_X);//信息熵H(X)
//条件熵H(X|Y)
H_X_Y=0;
for(j=0;jn;j++)//求P(Y)
{ P_Y[j]=0;
for(i=0;im;i++)
{ P_Y_X=matrix[i][j];
P_XY=P_Y_X*P_X[i];
P_Y[j]=P_Y[j]+P_XY;}
}
for(i=0;im;i++)//求H(X|Y)
{ for(j=0;jn;j++)
{ P_Y_X=matrix[i][j];
P_XY=P_Y_X*P_X[i];
P_X_Y=P_XY/P_Y[j];
H_X_Y=H_X_Y-P_XY*log2(P_X_Y);}
}
printf(\n\n条件熵H(X|Y)=%f,H_X_Y);//条件熵H(X|Y)
//条件熵H(Y|X)
H_Y_X=0;
for(i=0;im;i++)
{ for(j=0;jn;j++)
{ P_Y_X=matrix[i][j];
P_XY=P_Y_X*P_X[i];
H_Y_X=H_Y_X-P_XY*log2(P_Y_X);}
}
printf(\n\n条件熵H(Y|X)=%f,H_Y_X);//条件熵H(Y|X)
//联合熵H(XY)
H_XY=H_X+H_Y_X;
printf(\n\n联合熵H(XY)=%f,H_XY);//联合熵H(XY)
}
} 五.程序运行
wilyes11收集 博客(与学习无关):/u/1810231802
您可能关注的文档
最近下载
- 大学生个人简历表格空白模板通用.docx
- 23S516混凝土排水管道基础及接口图集.pdf VIP
- (完整版)《小型露天采石场安全生产标准化评分办法》.pdf
- 砌筑砂浆配合比设计规程.docx VIP
- 医院物业后勤化管理重点部位强化清洁方案及消毒隔离措施方案.docx
- 增量学习与类增长的融合.pptx
- 可编程逻辑控制器(PLC)系列:Siemens S7-1200 (煤炭工业应用)_(11).项目案例分析:矿井提升机控制.docx
- 课题申报书:大学生“慢就业缓就业”心理成因及干预对策研究.docx VIP
- PROE-Program程序设计全解析.doc VIP
- 2014抗爆、泄爆门窗及屋盖、墙体建筑构造14J938.docx
文档评论(0)