2021/11/23 from Xwhite

实验一离散信源的统计度量-自信量和熵的计算

实验要求

1、请分别完成离散信源自信息量及信源熵
根据所编函数计算如下信源的自信息量及信源熵。

2、有条英文信息总共包含100个字符,假定其中每个字符从26个英文字母和3个标点符号中等概率选取,那么这条信息提供的信息量为多少?

3、若将上述29个字符分为三类,第一类中包含9个字符,该类出现的概率为1/7;第二类中包含13个字符,该类出现的概率为2/7;第三类中包含7个字符,该类出现的概率为4/7;每类中各字符均以等概率出现,求此时该信源的信息熵。

4、有两个二元随机变量X和Y,它们的联合概率分布函数如下表:

试求:
a、熵H(X),联合熵H(X,Y);
b、条件熵H(X|Y);
c、平均互信息I(X;Y);

实验代码

from math import *# 求各个符号信息量
def xxl(v_list):i = 0for x in v_list:i += 1result = -log(x, 2)print("I(x%d)=%s" % (i, result))# 求信源熵
def ent(v_list):result = 0for x in v_list:result += -1 * log(x, 2) * xreturn result# N次扩展离散无记忆信源熵
def N_ent(n, p):return n * log(p, 2)# 第四题
def Result_4():x_list = [1 / 2, 1 / 2]y_list = [1 / 2, 1 / 2]xy_list = [1 / 8, 1 / 8, 3 / 8, 3 / 8]print('H(X)=', ent(x_list))print('H(Y)=', ent(y_list))print('H(XY)=', ent(xy_list))a = ent(xy_list) - ent(y_list)b = ent(x_list) + ent(y_list) - ent(xy_list)# I(X;Y) = H(X)+H(Y)-H(XY)print('H(X|Y)=', a)print('I(X;Y)=', b)if __name__ == '__main__':value_list = [1 / 2, 1 / 4, 1 / 8, 1 / 8]value3_list = [1 / 7, 2 / 7, 4 / 7]print('第1题结果:')xxl(value_list)print("H(x)=", ent(value_list))print('第2题结果为:', N_ent(100, 29))print('第3题结果为:',ent(value3_list))print('第4题结果为:')Result_4()

运行结果


如果结果有错请在评论区指正

天津理工大学信息论与编码实验(1)相关推荐

  1. 天津理工大学信息论与编码实验(3)

    2021/11/26 from Xwhite 离散信源编码-香农编码 实验内容 实验代码 from math import * import prettytable# 求信息量函数 def ent(a ...

  2. 天津理工大学 信息论与编码实验3 离散信源编码-香农编码

    一.实验目的 离散无记忆信源是一种最简单且最重要的信源,可以用完备的离散型概率空间来描述.本实验通过对给定的信源的进行相应的编码,加深对离散无记忆信源的无失真编码的理解. 掌握香农编码原理: 二.实验 ...

  3. 天津理工大学 信息论与编码实验4 离散信道编码-线性分组码

    一.实验目的 信道编码也叫差错控制编码,指在将要传输的信息序列中人为的添加一些保护成分(监督码元),从而在接收端译码时可以进行自动纠错,从而增强了信号的抗干扰能力. 掌握线性分组码编码原理: 二.实验 ...

  4. 天津理工大学信息论与编码实验(2)

    2021/11/25 from Xwhite 熵的极值性验证 实验要求 实验代码 import numpy as np from math import * import matplotlib.pyp ...

  5. 天津理工大学《操作系统》实验二,存储器的分配与回收算法实现,代码详解,保姆式注释讲解

    天津理工大学<操作系统>实验二,存储器的分配与回收算法实现,代码详解,保姆式注释讲解 实验内容 1. 本实验是模拟操作系统的主存分配,运用可变分区的存储管理算法设计主存分配和回收程序,并不 ...

  6. 信息论与编码实验报告——MATLAB实现算术编码

    一.实验内容 试用MATLAB编制算术编码算法实现程序. 二.实验过程 2.1 算术编码实现原理 算术编码的算法思想如下: (1)对一组信源符号按照符号的概率从大到小排序,将[0,1)设为当前分析区间 ...

  7. labview 霍夫曼树_哈夫曼树编码实验报告_信息论与编码实验2 实验报告_信息论与编码报告...

    huffman编码C语言实验报告 今日推荐 180份文档 2014...4页 1下载券 安卓版100 doors 2攻略1... 3页 1下载券 <逃脱本色>doors....语文教育实习 ...

  8. 天津理工大学计算机项目管理实验四,天津理工大学计算机专业数据库实验二.doc...

    文档介绍: 实验报告学院(系)名称:计算机与通信工程学院姓名范学号2009专业计算机科学与技术班级中加4班实验项目数据库控制与编程课程名称数据库系统概论课程代码0660096实验时间2011年11月2 ...

  9. 香农编码用matlab实验报告,信息论与编码实验指导书

    实验一 绘制二进熵函数曲线(2个学时) 一.实验目的: 1. 掌握Excel 的数据填充.公式运算和图表制作 2. 掌握Matlab 绘图函数 3. 掌握.理解熵函数表达式及其性质 二.实验要求: 1 ...

最新文章

  1. HTML5 本地文件操作之FileSystemAPI整理(二)
  2. 基础知识——测试代码(七)
  3. mysql实现心跳表_第29问:MySQL 的复制心跳说它不想跳了
  4. 抽奖啦!AI内参、李沐新书深度学习、米家扫地机器人送送送
  5. 统计学习方法第十四章作业:聚类—层次聚类聚合/分裂算法、K_means聚类算法 代码实现
  6. 分布式系统概念 | 分布式锁:数据库、Redis、Zookeeper解决方案
  7. 一个Linux下C线程池的实现(转)
  8. PowerShell监控——监控电脑屏幕操作记录
  9. Django MySQL 多用户_Django 框架之 同时使用多个数据库
  10. android逆向工程dex2jar使用
  11. c#的chart标题_c#关于chart控件的使用方法
  12. 【作业分享】Reverse Polish Notation | 数据结构·stack
  13. 互联网日报 | 瑞幸咖啡同意支付1.8亿美元达成和解;国产游戏海外收入首破千亿;滴滴试水信用支付...
  14. 20200903-03-Hadoop运行模式之本地运行模式伪分布式运行模式
  15. Java/计算银行利率
  16. 游戏脚本开发思路总结
  17. 基于android定制的会议盒子
  18. 2011年6月9日中国互联网公司市值排名
  19. 天空之门手游怎么用电脑玩 天空之门手游模拟器教程
  20. vscode跳转不到函数定义

热门文章

  1. 推荐一个好用的免费开源的笔记本软件CherryTree
  2. node和java 3des加密解密
  3. python 实现youtube 上传
  4. couse2610_lab6-Linux进程管理
  5. 前端如何引用LCD字体液晶字体,如何转换?@font-face 如何使用?
  6. QEMU如何虚拟PCI设备
  7. 计算机删掉另一个用户名,计算机其他怎么删除
  8. 《毛毛虫团队》第七次作业:团队项目设计完善编码
  9. 在AWS上部署一个网站
  10. gitlab仓库和mysql_GitLab版本管理-自建git仓库