信息论编码 | 霍尔曼编码设计MATLAB实现 两种方法 函数调用

news2025/1/14 10:12:05

姓名

班级

20电信

学号

2020

实验项目

实验三 霍尔曼编码

日期

2022.11

实验环境

  1. 联想电脑
  2. MATLAB R2018a版

实验内容与完成情况(记录实验内容、操作步骤、实验结果等,包括系统输出的错误信息,以截图等方式记录实验结果)

1. 针对上述两种方法,分别设计Matlab程序,要求:输入响应的信源个数与概率,输出响应的Huffman编码。

函数设计建议:

方法一:[W,L,q]=huffman(P) 为huffman编码函数

% huffman编码生成器 %

% 函数说明:                              %

% [W,L,q]=huffman(P) 为huffman编码函数    %

% P为信源的概率矢量,W为编码返回的码字       %

% L为编码返回的平均码字长度,q为编码效率      %

%*****************************************  %

函数:

方法二:[W,L,V,q]=huffman_better(P)

% huffman编码生成器                                    %

% 函数说明:                                             %

% [W,L,V,q]=huffman_better(P) 为huffman_better编码函数               %

% P为信源的概率矢量,W为编码返回的码字,V为码字的方差  %

% L为编码返回的平均码字长度,q为编码效率               %

%*******************************************************   %

函数:

2.利用上述设计函数,计算“三、实验原理”例子中信源的二进制霍夫曼编码,并比较平均码长、编码效率和码长方差。

方法一:

调用:

运行结果:

方法二:

调用:

运行结果:

由运行结果可以看到,两种计算霍夫曼编码的方法计算得到的平均码长、编码效率是相同的,因为他们本质上都是霍夫曼编码;但第二种编码方法的方差很小。

遇到的问题及解决方法(若没有找到解决方法,就仅列出问题)

在调用第二个函数的时候出现如上报错,去CSDN上搜了一下,是因为我装的MATLAB 2018a版本太低了,识别不出来,更新后即正常。

实验心得

这次的实验和上次的实验一样,都是对编码方法的编程,难度略有加大,用两种不同的方法进行编程,一开始根本没有头绪,在CSDN上找了几篇博客学习才知道怎么做,还是要多学习编程算法呀,路漫漫其修远兮。重点参考的博客如下:

[1](13条消息) Matlab实现Huffman编码_GK_Szero的博客-CSDN博客_matlab实现huffman编码

[2](13条消息) 实验四-哈夫曼编码的MATLAB实现_虎慕的博客-CSDN博客_哈夫曼编码matlab

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/19271.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

吹爆,这份有思路有案例能落地的SpringCloud开发笔记

前言 SpringCloud想必每一位Java程序员都不会陌生,很多人一度把他称之为“微服务全家桶”,它通过简单的注解,就能快速地架构微服务,这也是SpringCloud的最大优势。但是最近有去面试过的朋友就会发现,现在面试你要是没…

【毕业设计】3-基于单片机的公交车智能播报到站运行位置指示系统(原理图+源码+论文)

【毕业设计】3-基于单片机的公交车智能播报到站运行位置指示系统(原理图源码论文) 文章目录【毕业设计】3-基于单片机的公交车智能播报到站运行位置指示系统(原理图源码论文)资料下载链接任务书设计说明书摘要设计框架架构设计说明…

一个基于NetCore模块化、多租户CMS系统

今天给大家推荐一个基于.NetCore开发的、支持多租户的开源CMS系统。 项目简介 这是一个基于ASP.NET Core 构建的、模块化和多租户应用程序框架,采用文档数据库,非常高性能,跨平台的系统。 该项目可用于企业网站、个人博客、产品介绍网站等…

【计算机毕业设计】基于netty的网关推送平台

前言 📅大四是整个大学期间最忙碌的时光,一边要忙着准备考研,考公,考教资或者实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过…

字符流用户注册案例、字符缓冲流、字符缓冲流特有功能、字符缓冲流操作文件中的数据排序案例

文章目录字符流用户注册案例字符缓冲流字符缓冲流特有功能字符缓冲流操作文件中的数据排序案例IO流小结字符流用户注册案例 案例需求: 将键盘录入的用户名和密码保存到本地实现永久化存储实现步骤 获取用户输入的用户名和密码(这里使用 scanner 键盘录…

NLP的数据增强技术总结

文章目录一、简单的数据增强技术 EDA (Easy Data Augmentation) 即Normal Augmentation Method1、同义词替换(Synonym Replacement, SR):2、随机插入(Random Insertion, RI):3、随机交换(Random Swap, RS):4、随机删除(Random Deletion, RD)&…

JS中判断数据类型的几种方法

目录 1.typeof 2.constructor 3.instanceof 4.Object.prototype.toString.call 1.typeof 📙 语法 : typeof(需要判断的数据变量) 📙 特点: 🍀 对于基本数据类型,除了null外都可以返回正确的结果;对于null,返回的是Object &#x1f34…

FL Studio21中文版本新增功能FL2023完整版

FL Studio水果简称FL,全称:Fruity Loops Studio,国人习惯叫它水果萝卜。FL软件现有版本是 FL Studio 21,已全面升级支持简体中文语言界面 。 FL Studio 21水果工具更新、新功能和插件FL Studio 21已经发布,并且有许多…

[附源码]java毕业设计日常饮食健康推荐系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

迭代器C11

迭代器 迭代器失效 容器使用迭代器时,不要改变容器的大小 /在操作迭代器的过程中(使用了迭代器这种循环体),千万不要改变vectori容器的容量,也就是不要增加或者删除vectori容器中的元素 /往容器中增加或者从容器中删…

python基于百度sdk语音转文字

python基于百度sdk语音转文字 1.安装baidu-aip 这样pip install aip; 2.要是不行的话下载"识别、合成 RESTful API Python SDK ",解压到某个文件夹下面如:d:\AI 百度智能云-管理中心https://console.bce.baidu.com/ai/#/ai/speech/overview/…

【面试题】深入理解Cookie、Session、Token的区别

【面试题】深入理解Cookie、Session、Token的区别 Cookie与Session Cookie Session Cookie与Session之前的联系 Cookie与Session的在请求中的工作流程 Cookie与Session存在问题 Token 什么是Token? 为什么要有token? token认证机制 Token流…

灵界的科学丨五、心灵与意识的科学奥祕

摘自李嗣涔教授《灵界的科学》 每个人都有「自我意识」, 每天睡觉时「我」就不见了, 每天早上醒来时,「我」又回来了, 好像没有太大的改变, 这个「我」的物理现象是什么? 探索科学的最后疆界──意识 …

【感恩系列】:说点事儿 以及 我把所有的粉丝放到了中国地图上啦~

文章目录💞许久不见,甚是想念💘初次相遇💘为什么写博客?💘写博客的收获💘此可已无言💘中国版图里的我们💖设计思路:💖具体实现💕爬取粉…

【毕业设计】56-辅助驾驶系统的视觉检测\超声波\图像识别\装置研究与设计(原理图工程、仿真工程、低重复率设计文档、答辩PPT、开题报告)

【毕业设计】56-辅助驾驶系统的视觉检测\超声波\图像识别\装置研究与设计(原理图工程、仿真工程、低重复率设计文档、答辩PPT、开题报告) 文章目录【毕业设计】56-辅助驾驶系统的视觉检测\超声波\图像识别\装置研究与设计(原理图工程、仿真工…

HCIP实验2-1:IS-IS 配置实验

实验 2-1 IS-IS 配置实验 实验目标 掌握IS-IS协议基本配置掌握IS-IS协议DIS优先级修改方式掌握IS-IS协议网络类型修改方式掌握IS-IS协议外部路由引入掌握IS-IS接口cost修改方式掌握IS-IS路由渗透配置方式 拓扑图 场景 使用IS-IS协议作为某网络的IGP,R1和R5运行在…

操作系统:操作系统概论

目录前言1. 操作系统概观1.1 操作系统与计算机系统1.1.1 操作系统1.1.2 硬件软件1.1.2.1 硬件1.1.2.2 软件1.1.2.2.1 系统软件(操作系统层)1.1.2.2.2 支撑软件1.1.2.2.3 应用软件1.2 操作系统资源管理技术1.2.1 资源管理1.2.1.1 资源复用1.2.1.2 资源虚化…

线性代数---第五章特征值和特征向量

1特征值的和等于a11加上a22,特征值的积等于行列式 2利用|λE-A|0求特征值,代入特征值求基础解系,利用基础解系求特征向量 3如果两个特征值相等,那么它们的特征向量也相等 当特征值是二重根时,有可能有一个线性无关的特…

EndNote安装与使用

一、安装 1、双击ENX9Inst.msi安装 2、进入安装目录,使用CHS或ENG里的文件替换安装目录文件 CHS 中文版 ENG 英文版 二、软件优化 1、EndNote Import.enf 此文件用于导入中文文献时期刊名解析错误的问题,右击使用EndNoteX9打开后关闭即可 2、geebin…

Navicat导入SQL文件

安装Navicat 软件下载地址 https://wwz.lanzoub.com/i3T9S0gbq2wd 参考链接接 https://www.cnblogs.com/hhaostudy/p/15898030.html 准备导入SQL文件 新建连接 点击左上角连接 -> 选择MySQL 连接名:任意名称都可以,可输入localhost 主机&#x…