信息论与编码matlab实验报告,信息论与编码实验程序与结果图(matlab).doc

41528d3028836879cd698677c3999917.gif信息论与编码实验程序与结果图(matlab).doc

1信源熵实验程序:clc;closeall;clear;linwidd=1fontt=20p0=0;pd=1;N=20p=linspace(p0,pd,N);I=-log2(p);plot(p,I, k );title( I=-log2(p)函数图 );xlabel( p );ylabel( I );clc;closeall;clear;linwidd=1fontt=20p0=0;pd=1;N=20p=linspace(p0,pd,N);H=-p.*log2(p)-(1-p).*log2(1-p);plot(p,H, k );title( H=-p.*log2(p)-(1-p).*log2(1-p)函数图 );xlabel( p );ylabel( H );信道容量实验程序:clc;closeall;clear;linwidd=1fontt=20p0=0;pd=1;N=20p=linspace(p0,pd,N);r=4c=log2(r)+(1-p).*log2(1-p)+p.*log2(p/(r-1));plot(p,c, k );title( 强对称信道容量数值模拟图 );结果图2有噪信道编码--费诺不等式程序:结果图clc;closeall;clear;r=3;p0=0.00001;pd=0.99999;N=2000;p=linspace(p0,pd,N);q=1-p;H=-p.*log2(p)-q.*log2(q);holdonHH=H+p.*log2(r-1)title( 费诺不等式示意图 );boxonxlabel( PE );ylabel( H(X/Y) );plot(p,HH, k: )holdonholdonfill([p,1],[HH,0],[0.6,0.6,0.6])stem((r-1)/r,1.59, --.r )text(0.66,1.6, 最大值 )香农编码程序:clc;clearall;closeall;p=[0.20.190.180.170.150.10.01];ifsum(p)1error( 输入概率不符合概率分布 )end[pindex]=sort(p, descend );n=length(p);pa=zeros(n,1);forii=2:npa(ii)=pa(ii-1)+p(ii-1);endk=ceil(-log2(p));%码字长度计算c=cell(1,n);%生成元胞数组,用来存不同长度的码字forii=1:nc{ii}= ;tmp=pa(ii);forjj=1:k(ii)tmp=tmp*2;iftmp>=1tmp=tmp-1;%c{ii}{jj}= 1 ;c{ii}=[char(c{ii}), 1 ];else%c{ii}{jj}= 0 ;c{ii}=[char(c{ii}), 0 ];endendendc(index)=c;%换回原来的顺序codelength=zeros(1,n);%码长初始化forii=1:nfprintf([ 第 ,num2str(ii), 个消息对应为 ]);disp(c{ii});%显示码字codelength(ii)=length(c{ii});%endn_average=sum(codelength.*p)%平均码长fprintf( 平均码长为 );disp(n_average);H=-sum(p.*log2(p));fprintf( 信源熵 );disp(H);x=H/(n_average.*log2(2))fprintf( 编码效率 );disp(x);figureh=stem(1:n,codelength);%axis([0n+10n+1]);set(h, MarkerFaceColor , blue , linewidth ,2)实验结果结果图第1个消息对应为000第2个消息对应为001第3个消息对应为011第4个消息对应为100第5个消息对应为101第6个消息对应为1110第7个消息对应为1111110n_average=3.1400平均码长为3.1400信源熵2.6087x=0.83083编码效率0.8308费诺编码程序:endforrr=2:2:needgroupnum*2index2=index_aftergroup(rr,:);forii=index2(1):index2(2)c{ii}=[char(c{ii}), 1 ];endendflag=0;index_p=[];forrr=1:needgroupnum*2indextmp=index_aftergroup(rr,:);if(indextmp(2)-indextmp(1)+1>1)flag=1;index_p=[index_p;indextmp];endendjj=jj+1;endc(index)=c;codelength=zeros(1,N);forii=1:Nfprintf([ 第 ,num2str(ii), 个消息对应为 ]);disp(c{ii});codelength(ii)=length(c{ii});endn_average=sum(codelength.*p)fprintf( 平均码长为 );disp(n_average);H=-sum(p.*log2(p));fprintf( 信源熵 );disp(H);x=H/(n_average.*log2(2))fprintf( 编码效率 );disp(x);figureh=stem(1:N,codelength);axis([0N+10N+1]);set(h, MarkerFaceColor , blue , linewidth ,2)endfunctionindex_aftergroup=func_group(p,index_p)index=index_p(1):index_p(2);n=length(index);p0=p(index);sump0=sum(p0);half_sump0=sump0/2;forii=1:n-1tmpsum=sum(p0(1:ii));ifabs(tmpsum-half_sump0)1elsed=1;endB(B(n,j+1),j+1)=-1;temp=B(:,j+1);x=find(temp==B(i,j));ENDc(i)=ENDc1(x(d));endy=B(n,j+1);ENDc(t-1)=[char(ENDc1(y)), 1 ];ENDc(t)=[char(ENDc1(y)), 0 ];t=t+1;ENDc1=ENDc;endA%排序后的原概率序列ENDc%编码结果fori=1:n[a,b]=size(char(ENDc(i)));L(i)=b;endavlen=sum(L.*A)%平均码长selen=(L-avlen).^2%?mselen=sum((selen).*A)%码长均方差H=-A*(log2(A ))%?P=H/avlen%?figure;subplot(2,1,1)h=stem(1:n,selen);%axis([0n+10max(sel

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

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

相关文章

OpenGL: 实现立体显示

立体显示原理:设没有立体显示的模型视图矩阵ModelView为Mv,投影矩阵为Mp,则、物体空间的任何一点为P,则变换到屏幕坐标P*MpMvP;注意前面已经说过opengl里面坐标列优先,所以矩阵都是右乘。 左眼和右眼的变换都是由中间的…

数学 之 hdu 4861

// [7/23/2014 Sjm] /* 对于此题&#xff0c;举出数据找规律&#xff0c;即可AC。。。 不过悲催的WA了好多次&#xff0c;后来发现竟把"YES"打印成"Yes"了。。。。 注释掉的代码是用来找规律的。。。 */ 1 #include <iostream>2 #include <cs…

centos 6 安装mysql,CentOS6.5安装MySQL教程(完整教程)

Step 1&#xff1a;检测系统是否安装MYSQL# yum list installed | grep mysql顺便提下如果yum有如下提示不能用的情况&#xff1a;yum在自动更新原因是yum在自动更新 只要关掉它就OK了解决方案&#xff1a;直接输入# rm -f /var/run/yum.pid或者&#xff1a;# /etc/init.d/y…

php通过条件来定义const,php用const出错是什么原因

大家都知道define是定义常量的,如果在类中定义常量呢&#xff1f;当然不能用define&#xff0c;而用const&#xff0c;如下例&#xff1a;<?php //在类外面通常这样定义常量define("PHP","phpernote.com");class MyClass{ //常量的值将始终保持不变。在…

UE4角色Location远距离时动画抖动问题(float精度不够)解决方案

正题&#xff1a;关于UE4引擎当角色Location超过9999.999后&#xff0c;角色动画更新抖动问题的解决思路。 前提&#xff1a; 1.UE4引擎中距离单位是厘米(cm)&#xff0c;也就说我们制作好1.8米的角色在UE4中为180个虚幻单位。这样做个人愚见是为了提高浮点值&#xff08;float…

android Handler的使用(一)

Handler的使用(一) Handler基本概念&#xff1a; Handler主要用于异步消息的处理&#xff1a;当发出一个消息之后&#xff0c;首先进入一个消息队列&#xff0c;发送消息的函数即刻返回&#xff0c;而另外一个部分逐个的在消息队列中将消息取出&#xff0c;然后对消息进行出来…

现实地形导入UE4全流程

制作地形方法很多&#xff0c;今天给大家分享一种原创野套路。此方法特点是将现实中的地形于UE4中呈现&#xff0c;而不是手动绘制地形。首先从地理空间数据云获得指定区域的地理数据&#xff0c;然后使用GlobalMapper更准确选出区域并把数据转换成WorldMachine可识别的格式&am…

大地形pawn抖动问题

在pawn的event tick里调用下面函数即可

Bootstrap页面布局16 - BS导航菜单和其响应式布局以及导航中的下拉菜单

代码&#xff1a; <div classcontainer-fluid><h2 classpage-header>导航</h2><!--    .navrbar navbar-fixed-top:导航固定显示在顶部&#xff0c;对应的navbar-fixed-bottom:导航固定显示在页面底部    .brand:提示文字或者主题    .active…

hdu 1874(Dijkstra + Floyd)

链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid1874 畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 27692 Accepted Submission(s): 10019 Problem Description某省自从实行了很多年…

Web 开发中很实用的10个效果【附源码下载】

在工作中&#xff0c;我们可能会用到各种交互效果。而这些效果在平常翻看文章的时候碰到很多&#xff0c;但是一时半会又想不起来在哪&#xff0c;所以养成知识整理的习惯是很有必要的。这篇文章给大家推荐10个在 Web 开发中很有用的效果&#xff0c;记得收藏&#xff01; 超炫…

蓝图中实现人物移动2

从Pawn继承一个蓝图类并编写下面代码&#xff0c;并添加摄像机组件 1. 实现前后移动2. 实现左右移动3. 实现鼠标移动方向4. 实现鼠标俯仰

实现两个pawn的切换

在playercontroller里面编写下面代码并把两个pawn放置到场景中

steam程序员php玩的游戏,Steam:又一款烧脑的编程游戏上线,宅男回家了也要开心加班!...

原标题&#xff1a;Steam&#xff1a;又一款烧脑的编程游戏上线&#xff0c;宅男回家了也要开心加班&#xff01;要是小伙伴们喜欢什么解谜、编程类游戏&#xff0c;相信Steam上的《程序员升职记》应该都是绿了的游戏&#xff0c;这款给宅男们设计智力游戏能让你享受到从底层到…

spline 用法

控制actor在level中沿着一个spline path运动。 由finterp to 函数的输出数值来控制每一帧actor运动的距离。 从开始位置到spline path的终点的时间&#xff0c;是1/interp speed。假如我们控制actor从开头到终点运动的总时间是1秒&#xff0c;那么 interp speed就传入0.5&#…

HTML5 Canvas 高仿逼真 3D 布料图案效果

HTML5 规范引进了很多新特性&#xff0c;其中最令人期待的之一就是 Canvas 元素&#xff0c;HTML5 Canvas 提供了通过 JavaScript 绘制图形的方法&#xff0c;非常强大。下面给大家分享一个 HTML5 Canvas 绘制的 3D 布料图案效果。 温馨提示&#xff1a;为保证最佳的效果&#…

本地windows主机无法访问虚拟机里主机解决办法

一&#xff1a;设置虚拟机里IP&#xff0c;使其与本地计算机IP在同一网段 本地计算机网络IP设置如下&#xff1a; 虚拟机里ip为192.168.1.9 设置IP步骤请参考&#xff1a;Linux里如何设置IP(RED HAT) 二&#xff1a;将虚拟机网络连接方式设为桥接 假如&#xff0c;VirtualBox不…

linux服务器3306端口,linux系统对外开放3306、8080等端口,防火墙设置详解

linux系统对外开放3306、8080等端口&#xff0c;防火墙设置详解发布时间&#xff1a;2020-10-10 23:08:49来源&#xff1a;脚本之家阅读&#xff1a;141作者&#xff1a;julielele栏目&#xff1a;服务器我们很多时候在liunx系统上安装了web服务应用后(如tomcat、apache等)&…

hdu--1231--并查集连分量的个数

我觉得 这题 是纯粹的 并查集 可以算成 入门题吧 问你有几章桌子 就是问你有几个 连通块嘛 一个道理 touch me 这题 我采用了下 father[x]开始 初始化为-1 1 #include <iostream>2 #include <cstring>3 using namespace std;4 5 const int size 1010;6 int fathe…

landscape 1

1. 创建出landscape的分层材质2. 把材质添加给landscape后&#xff0c;可以在landscape的画刷模式下看到3. 通过点击右侧的加号&#xff0c;依次添加layer后&#xff0c;就可以使用他们进行地形的绘制。 通过右键菜单可以快速填充和清除对应的layer4. 用下面的方法修改材质的法…