(word完整版)信息熵的matlab程序实例.doc 立即下载
2024-09-09
约2千字
约3页
0
19KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

(word完整版)信息熵的matlab程序实例.doc

(word完整版)信息熵的matlab程序实例.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

5 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(word完整版)信息熵的matlab程序实例
(word完整版)信息熵的matlab程序实例
(word完整版)信息熵的matlab程序实例
求一维序列的信息熵(香浓熵)的matlab程序实例
对于一个二维信号,比如灰度图像,灰度值的范围是0-255,因此只要根据像素灰度值(0—255)出现的概率,就可以计算出信息熵。但是,对于一个一维信号,比如说心电信号,数据值的范围并不是确定的,不会是(0-255)这么确定,如果进行域值变换,使其转换到一个整数范围的话,就会丢失数据,请高手指点,怎么计算。
比如数字信号是x(n),n=1~N(1)先用Hist函数对x(n)的赋值范围进行分块,比如赋值范围在0~10的对应第一块,10~20的第二块,以此类推.这之前需要对x(n)做一些归一化处理(2)统计每一块的数据个数,并求出相应的概率(3)用信息熵公式求解以上求解方法获得的虽然是近似的信息熵,但是一般认为,这么做是没有问题的
求一维序列的信息熵的matlab程序代码如下:(已写成调用的函数形式)
测试程序:
fs=12000;N=12000;T=1/fs;t=(0:N-1)*T;ff=104;sig=0.5*(1+sin(2*pi*ff*t))。*sin(2*pi*3000*t)+rand(1,length(t));
Hx=yyshang(sig,10)

%-——————求一维离散序列信息熵matlab代码
functionHx=yyshang(y,duan)%不以原信号为参考的时间域的信号熵%输入:maxf:原信号的能量谱中能量最大的点%y:待求信息熵的序列%duan:待求信息熵的序列要被分块的块数%Hx:y的信息熵%duan=10;%将序列按duan数等分,如果duan=10,就将序列分为10等份x_min=min(y);x_max=max(y);maxf(1)=abs(x_max—x_min);maxf(2)=x_min;duan_t=1.0/duan;jiange=maxf(1)*duan_t;%fori=1:10%pnum(i)=length(find((y_p>=(i—1)*jiange)&(y_p〈i*jiange)));%end
pnum(1)=length(find(y<maxf(2)+jiange));fori=2:duan-1pnum(i)=length(find((y〉=maxf(2)+(i—1)*jiange)&(y<maxf(2)+i*jiange)));endpnum(duan)=length(find(y〉=maxf(2)+(duan-1)*jiange));%sum(pnum)ppnum=pnum/sum(pnum);%每段出现的概率%sum(ppnum)Hx=0;fori=1:duanifppnum(i)==0Hi=0;elseHi=-ppnum(i)*log2(ppnum(i));endHx=Hx+Hi;endend
%—----———-——-—--—
扩展阅读:


实验一:计算离散信源的熵
一、实验设备:
1、计算机
2、软件:Matlab
二、实验目的:
1、熟悉离散信源的特点;
2、学习仿真离散信源的方法
3、学习离散信源平均信息量的计算方法
4、熟悉Matlab编程;
三、实验内容:
1、写出计算自信息量的Matlab程序
2、写出计算离散信源平均信息量的Matlab程序。
3、掌握二元离散信源的最大信息量与概率的关系。
4、将程序在计算机上仿真实现,验证程序的正确性并完成习题。
四、实验报告要求
简要总结离散信源的特点及离散信源平均信息量的计算,写出习题的MATLAB实现语句。

信息论基础:
自信息的计算公式
Matlab实现:I=log2(1/p)或I=-log2(p)
熵(平均自信息)的计算公式

Matlab实现:HX=sum(-x.*log2(x));或者h=h—x(i)*log2(x(i));
习题:
1。甲地天气预报构成的信源空间为:

乙地信源空间为:

求此两个信源的熵。求各种天气的自信息量.
案:
运行程序:
p1=[1/2,1/4,1/8,1/8];%p1代表甲信源对应的概率
p2=[7/8,1/8];%p2代表乙信源对应的概率
H1=0。0;
H2=0。0;
I=[];
J=[];
fori=1:4
H1=H1+p1(i)*log2(1/p1(i));
I(i)=log2(1/p1(i));
end
disp('自信息量分别为:’);
I
disp(’H1信源熵为:');
H1
forj=1:2
H2=H2+p2(j)*log2(1/p2(j));
J(j)=log2(1/p2(j));
end
disp('自信息量分别为:');
J
disp('H2信源熵为:
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

(word完整版)信息熵的matlab程序实例

文档大小:19KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用