信息论实验一:信源熵的计算
本次实验是基础的计算信源熵,代码很简单。
为了便于计算,将概率和不为1的重新输入以及把概率为0删除!!!
format short; %定义输出的格式
p = input('p = '); %输入任意的信源概率分布
if sum(p) ~= 1 %判断输入的信源概率之和是否为1error('p is error,sum is not 1')
endzerop = find(p == 0); %找到信源中概率为0的符号
if ~isempty(zerop) %如果有概率为0的符号,将这个符号删除p(zerop) = [];
end
H = -sum(p.*log2(p)); %对信源进行信源熵计算
fprintf('entropy is: %d (bit/symbol)',H) %输出信源熵
实验结果:
接下来就是二元信源熵的曲线
在这个实验中,由于第一个点和最后一个点为0,需要单独拎出来,其余的熵的公式计算就行。
clear; %清空
format short; %定义输出格式
L = 0.01; %定义间隔
p = L:L:1-L; %定义x轴长度
H1 = -p.*log2(p)-(1-p).*log2(1-p); %计算熵值
n = length(p); %计算x轴长度
for i = 1:n+2 %将0.01到0.99值赋给新的熵值,再加上0和1处的值H(1) = 0;H(2:n+1) = H1(1:99);H(n+2) = 0;
end
p1 = 0:L:1; %重新给x轴长度,对应新的熵的长度
plot(p1,H,'LineWidth',2); %绘图
title('二元熵函数曲线'); %标题
xlabel('一维概率'); %x轴
ylabel('熵值'); %y轴
legend('熵函数曲线'); %图例
grid on; %上网格
axis([0,1,0,1.2]); %规定输出的范围
实验结果:
以上就是本次实验的内容。
信息论实验一:信源熵的计算相关推荐
- 离散信源的熵——信息论实验一(Matlab)
信息论与编码技术实验报告 学院: 信息科学与工程学院 班级: 2020通信工程1班 姓名: 麦兜 实验名称 实验一.离散信源的熵 实验设备 (1)计算机 (2)所用软件:Matlab或C 实验目 ...
- 计算信源熵和香农编码C语言,信息论与编码课程设计报告-统计信源熵与香农编码.pdf...
信息论与编码课程设计报告 设计题目: 统计信源熵与香农编码 专业班级 电 信 12-06 学 号 学生姓名 指导教师 教师评分 2015 年 3 月 30 日 目 录 - 0 - 一.设计任务与要求 ...
- MATLAB计算英文符号信源熵,基于matlab的英文文本信息量的统计-正确.doc
基于matlab的英文文本信息量的统计-正确.doc 实验一英文文本信息量的计算一. 实验目的及要求a) 实验目的1. 通过本实验熟悉Matlab软件编程环境2. 编写M文件实现对英文文本信息量的统计 ...
- 信息论基础——信源熵及其性质研究
本文仅供学习使用,如有侵权请及时联系,博主会第一时间进行处理 信源熵及其性质研究 一.实验目的 二.实验原理及内容 三.实验设备与材料 四.实验步骤 五.实验程序及运行结果 六.实验总结 一.实验目的 ...
- Python:请输入一段信息,并计算这串消息的信源熵
源码: import string import math count=0#用counnt保存不同的符号的个数 print("请输入你想计算信源熵的信息:") n = input( ...
- 信息论与编码matlab实验报告,信息论实验报告(实验三、香农编码)
<信息论实验报告(实验三.香农编码)>由会员分享,可在线阅读,更多相关<信息论实验报告(实验三.香农编码)(3页珍藏版)>请在人人文库网上搜索. 1.学生实验报告院别电子工程学 ...
- 离散信源熵的基本知识
信息论与编码是这学期上的一门课程,最近几周一直在讲离散信源熵的概念以及计算,今天是这一章节的最后一节课,想对这一章节的概念做一个基本的总结 1.离散信源的分类和数学模型 在离散时间发出离散符号的信源称 ...
- 《信息与编码》考试复习笔记6----第六章连续信源熵和信道容量(考点在连续信道容量)
系列文章链接目录 一.<信息与编码>考试复习笔记1----第一章概论 二.<信息与编码>考试复习笔记2----第二章离散信息源 三.<信息与编码>考试复习笔记2-- ...
- 【机器学习】信息论基础(联合熵、条件熵、交叉熵、KL散度等)+ Python代码实现
文章目录 一.基本概念 1.1 联合熵 1.2 条件熵 1.3 交叉熵 1.3.1 Python编程实现交叉熵计算 1.4相对熵(KL散度) 1.4.1 Python编程实现KL散度计算 二.自信息和 ...
- java计算信息熵_熵的计算
1.什么是熵,这里只谈计算机领域的信息熵 2.举例,以做选择题为例 3.代码,用Java代码来计算熵,还是计算上图的例子 package net.highersoft.ml; public class ...
最新文章
- Redis 性能问题分析(好文推荐)
- python 动态编译代码_使用PyQt(Python+Qt)+动态编译36行代码实现的计算器
- GSM A5/1算法C语言代码实现和分析
- 【iCore4 双核心板_FPGA】例程八:乘法器实验——乘法器使用
- fatal error C1075: “{”: 未找到匹配令牌
- makefile编译_C++ Lesson 5:编译Makefile
- SAP Spartacus 项目里的 ng-package.json
- 为什么element的el-backtop会不管用,来看这里!
- [Sharepoint2007对象模型]第三回:Web应用程序(SPWebApplication)
- 为了重启计算机除了加电启动外,零度电脑知识网
- netapp 相关常识
- 计算机房安全防范措施,机房安全防护方案
- 小米游戏本bios_年轻人的第一台游戏本?——小米游戏本2019评测
- 国产GP232RL 串口芯片完美兼容FT232RL 引脚开发资料
- 英文歌的计算机普,好听的英文歌:See You Again--DJ Frank ECharlie Puth
- 卡路里与脂肪重量的换算
- NLP自然语言处理—主题模型LDA案例:挖掘人民网留言板文本数据
- OpenCV基础(26)使用 Python 和 OpenCV 顺时针排序坐标
- Python 编程1000例(5):拿鸡蛋问题和回文数问题
- Linux iptables nat 实现不同网络间(内外网)的互联
热门文章
- 腾讯会议共享屏幕时,设置演讲者模式仅自己可见
- 如何在中小型软件企业推进PMO(项目管理办公室)建设
- EMNLP2020 | 模型压缩系列:BERT-of-Theseus(一种基于模块替换的模型压缩方法)
- php获取 微信unionid,微信授权登录获取openId和unionId
- 用html制作毕业论文设计,个人网页的设计与制作毕业论文
- 计算机考研复试汇总(所有科目)
- 24.猫狗数据自定义训练
- Firefox国际版上登录本地服务
- 软件缺陷分析方法:ODC
- 服务器2016系统看图软件,PhotoX:Mac上最好用的免费看图软件