本次实验是基础的计算信源熵,代码很简单。

为了便于计算,将概率和不为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]);                  %规定输出的范围

实验结果:

以上就是本次实验的内容。

信息论实验一:信源熵的计算相关推荐

  1. 离散信源的熵——信息论实验一(Matlab)

    信息论与编码技术实验报告 学院: 信息科学与工程学院 班级: 2020通信工程1班 姓名: 麦兜 实验名称 实验一.离散信源的熵 实验设备 (1)计算机    (2)所用软件:Matlab或C 实验目 ...

  2. 计算信源熵和香农编码C语言,信息论与编码课程设计报告-统计信源熵与香农编码.pdf...

    信息论与编码课程设计报告 设计题目: 统计信源熵与香农编码 专业班级 电 信 12-06 学 号 学生姓名 指导教师 教师评分 2015 年 3 月 30 日 目 录 - 0 - 一.设计任务与要求 ...

  3. MATLAB计算英文符号信源熵,基于matlab的英文文本信息量的统计-正确.doc

    基于matlab的英文文本信息量的统计-正确.doc 实验一英文文本信息量的计算一. 实验目的及要求a) 实验目的1. 通过本实验熟悉Matlab软件编程环境2. 编写M文件实现对英文文本信息量的统计 ...

  4. 信息论基础——信源熵及其性质研究

    本文仅供学习使用,如有侵权请及时联系,博主会第一时间进行处理 信源熵及其性质研究 一.实验目的 二.实验原理及内容 三.实验设备与材料 四.实验步骤 五.实验程序及运行结果 六.实验总结 一.实验目的 ...

  5. Python:请输入一段信息,并计算这串消息的信源熵

    源码: import string import math count=0#用counnt保存不同的符号的个数 print("请输入你想计算信源熵的信息:") n = input( ...

  6. 信息论与编码matlab实验报告,信息论实验报告(实验三、香农编码)

    <信息论实验报告(实验三.香农编码)>由会员分享,可在线阅读,更多相关<信息论实验报告(实验三.香农编码)(3页珍藏版)>请在人人文库网上搜索. 1.学生实验报告院别电子工程学 ...

  7. 离散信源熵的基本知识

    信息论与编码是这学期上的一门课程,最近几周一直在讲离散信源熵的概念以及计算,今天是这一章节的最后一节课,想对这一章节的概念做一个基本的总结 1.离散信源的分类和数学模型 在离散时间发出离散符号的信源称 ...

  8. 《信息与编码》考试复习笔记6----第六章连续信源熵和信道容量(考点在连续信道容量)

    系列文章链接目录 一.<信息与编码>考试复习笔记1----第一章概论 二.<信息与编码>考试复习笔记2----第二章离散信息源 三.<信息与编码>考试复习笔记2-- ...

  9. 【机器学习】信息论基础(联合熵、条件熵、交叉熵、KL散度等)+ Python代码实现

    文章目录 一.基本概念 1.1 联合熵 1.2 条件熵 1.3 交叉熵 1.3.1 Python编程实现交叉熵计算 1.4相对熵(KL散度) 1.4.1 Python编程实现KL散度计算 二.自信息和 ...

  10. java计算信息熵_熵的计算

    1.什么是熵,这里只谈计算机领域的信息熵 2.举例,以做选择题为例 3.代码,用Java代码来计算熵,还是计算上图的例子 package net.highersoft.ml; public class ...

最新文章

  1. Redis 性能问题分析(好文推荐)
  2. python 动态编译代码_使用PyQt(Python+Qt)+动态编译36行代码实现的计算器
  3. GSM A5/1算法C语言代码实现和分析
  4. 【iCore4 双核心板_FPGA】例程八:乘法器实验——乘法器使用
  5. fatal error C1075: “{”: 未找到匹配令牌
  6. makefile编译_C++ Lesson 5:编译Makefile
  7. SAP Spartacus 项目里的 ng-package.json
  8. 为什么element的el-backtop会不管用,来看这里!
  9. [Sharepoint2007对象模型]第三回:Web应用程序(SPWebApplication)
  10. 为了重启计算机除了加电启动外,零度电脑知识网
  11. netapp 相关常识
  12. 计算机房安全防范措施,机房安全防护方案
  13. 小米游戏本bios_年轻人的第一台游戏本?——小米游戏本2019评测
  14. 国产GP232RL 串口芯片完美兼容FT232RL 引脚开发资料
  15. 英文歌的计算机普,好听的英文歌:See You Again--DJ Frank ECharlie Puth
  16. 卡路里与脂肪重量的换算
  17. NLP自然语言处理—主题模型LDA案例:挖掘人民网留言板文本数据
  18. OpenCV基础(26)使用 Python 和 OpenCV 顺时针排序坐标
  19. Python 编程1000例(5):拿鸡蛋问题和回文数问题
  20. Linux iptables nat 实现不同网络间(内外网)的互联

热门文章

  1. 腾讯会议共享屏幕时,设置演讲者模式仅自己可见
  2. 如何在中小型软件企业推进PMO(项目管理办公室)建设
  3. EMNLP2020 | 模型压缩系列:BERT-of-Theseus(一种基于模块替换的模型压缩方法)
  4. php获取 微信unionid,微信授权登录获取openId和unionId
  5. 用html制作毕业论文设计,个人网页的设计与制作毕业论文
  6. 计算机考研复试汇总(所有科目)
  7. 24.猫狗数据自定义训练
  8. Firefox国际版上登录本地服务
  9. 软件缺陷分析方法:ODC
  10. 服务器2016系统看图软件,PhotoX:Mac上最好用的免费看图软件