(完整版)计算离散信源的熵matlab实现
matlab信源熵计算

MATLAB信源熵计算概述在信息论中,信源熵是一种度量信源中平均信息量的指标。
在MATLAB中,我们可以使用一些函数和算法来计算信源熵。
本文档将介绍如何使用MATLAB计算信源熵的方法,以及相关的概念和原理。
信源熵的定义在信息论中,信源熵表示信源输出的信息的平均量。
假设有一个离散信源,其输出符号的概率分布为P(x1), P(x2), …,P(xn),并且满足∑P(xi) = 1。
则该信源的熵可以通过以下公式计算:H(X) = -∑P(xi)log2(P(xi))其中,H(X)表示信源X的熵。
MATLAB中计算信源熵的方法MATLAB提供了一些函数和算法来计算信源熵。
1. 基于概率分布的计算方法我们可以通过给出信源的概率分布来计算信源熵。
在MATLAB中,可以使用以下代码来计算:prob = [0.2, 0.3, 0.1, 0.4]; % 信源输出概率分布entropy = -sum(prob .* log2(prob)); % 计算信源熵这里的prob是一个包含信源输出概率分布的向量,根据具体情况进行调整即可。
entropy变量将保存计算得到的信源熵。
2. 基于数据样本的计算方法如果我们有信源的数据样本,而不是概率分布,我们也可以通过计算样本的统计信息来估计信源熵。
在MATLAB中,可以使用tabulate函数来统计数据样本的频次,并计算信源熵。
data = [1, 2, 3, 4, 3, 2, 1, 3, 4, 2]; % 数据样本counts = tabulate(data); % 统计样本频次prob = counts(:, 3) / 100; % 计算信源输出概率entropy = -sum(prob .* log2(prob)); % 计算信源熵这里的data是一个包含数据样本的向量,根据具体情况进行调整即可。
entropy变量将保存计算得到的信源熵。
3. 使用Entropy函数MATLAB还提供了一个名为entropy的函数来计算信源熵。
2.2 离散信源的熵

第 二 章 基 本 信 息 论
§2.2 离散信源的熵
二、基本性质
4. 扩展性 limH( p1 , p2 ,⋯, pi − ε , ⋯, pN ,ε ) = H( p1 , p2 ,⋯, pN ) .
ε →0
说明虽然小概率事件的信息量很大, 说明虽然小概率事件的信息量很大,但由于该事件几乎 不会出现,故熵几乎不变。反映了熵的总体平均性。 不会出现,故熵几乎不变。反映了熵的总体平均性。 证
H( X) = H( p1 , p2 ,⋯, pN ) = 0.
表明确定性的信源不含有任何信息量, 表明确定性的信源不含有任何信息量,其信源熵必为 0。 。 证 (1) 若 pl = 1 , pk = 0 ( k ≠ l ) , ⇒
N i =1
N
H ( X ) = − ∑ pi log pi = 0 .
轻松一下吧 ……
11
i =1
(2) 若 H ( X ) = − ∑ pi log pi = 0 , 由于 pi log pi ≤ 0 (∀i ) , ⇒ 又由于 pi log pi = 0 (∀i ) , ⇒ pi = 0 或 pi = 1 (∀i ) ,
∑ pi = 1 ,
i =1
N
故 { pk }中只有一个为 1,其余的为 0。 , 。 6
§2.2 离散信源的熵
二、基本性质
1. 非负性
H( X) = H( p1 , p2 ,⋯, pN ) ≥ 0.
证 由 0 ≤ pi ≤ 1 ⇒ log pi ≤ 0 ,
N
⇒
i =1
pi log pi ≤ 0 ,
⇒
H ( X ) = − ∑ pi log pi ≥ 0 .
2. 对称性
MATLAB实现基本尺度熵算法

地理与生物信息学院2011 / 2012 学年第二学期实验报告课程名称:医学信号处理实验名称:基本尺度熵算法实现班级学号: 11111111学生姓名: AAAA 指导教师: BB日期:2012 年 6 月一、 实验题目:Matlab 软件处理生物医学数字信号(熵方法2)二、实验要求:基本尺度熵算法实现三、实验内容:能使用Matlab 软件编写、实现基本尺度熵算法并处理生物医学信号。
四、实验过程:对于数据长度为N 的时间序列u :}1:)({N i i u ≤≤,把该时间序列嵌入m 维相空间[19]。
对于每一个)(i u ,取m 个点组成一m 维矢量:)])1((,),(),([)(L m i u L i u i u i X -++= , (1)这里m 是嵌入维数,L 是延迟时间。
取1=L ,那么共有1+-m N 个m 维矢量。
对于每一个m 维矢量,计算出基本尺度BS ,BS 定义为m 维矢量中所有相邻点数据间隔(或大小)的差值方均根值,即1))1()((()(112--+-+=∑-=m j i u j i u i BS m j . (2)根据基本尺度选择符号划分标准为BS ⨯α,然后把每一个m 维矢量转换成m 维矢量符号序列))((i X S i ={ )1(,),1(),(-++m i s i s i s }, A s ∈ (3,2,1,0=A )。
具体的转换如下:)3(:3:2:1:0))((⎪⎪⎩⎪⎪⎨⎧⨯-≤≤<⨯-⨯+>⨯+≤<=++++BS a u u uu BS a u BS a u u BS a u u u i X S k i k i k i k i i这里,1,3,2,1+-=m N i 1,2,1,0-=m k 。
u 代表第i 个m 维矢量的平均值,BS 代表第i 个m 维矢量的基本尺度,符号0,1,2,3 仅仅作为每一个划分区域的记号,具体数值的大小并没有实际的意义。
信源熵函数曲线Matlab仿真

信源熵函数曲线Matlab仿真信源熵函数曲线Matlab仿真实验目的1.掌握离散信源熵的原理和计算方法。
2.熟悉matlab软件的基本操作,练习应用matlab软件进行信源熵函数曲线的绘制。
3.理解信源熵的物理意义,并能从信源熵函数曲线图上进行解释其物理意义。
实验原理离散信源相关的基本概念、原理和计算公式产生离散信息的信源称为离散信源。
离散信源只能产生有限种符号。
假定X是一个离散随机变量,即它的取值范围R={x1,x2,x3,…}是有限或可数的。
设第i个变量x i发生的概率为p i=P{X=x i}。
则:定义一个随机事件的自信息量I(x i)为其对应的随机变量x i出现概率对数的负值。
即:I(x i)= -log2p(x i)定义随机事件X的平均不确定度H(X)为离散随机变量x i出现概率的数学期望,即:单位为比特/符号或比特/符号序列。
平均不确定度H(X)的定义公式与热力学中熵的表示形式相同,所以又把平均不确定度H(X)称为信源X的信源熵。
必须注意一下几点:a.某一信源,不管它是否输出符号,只有这些符号具有某些概率特性,必有信源的熵值;这熵值是在总体平均上才有意义,因而是个确定值,一般写成H(X),X是指随机变量的整体(包括概率分布)。
b.信息量则只有当信源输出符号而被接收者收到后,才有意义,这就是给与信息者的信息度量,这值本身也可以是随机量,也可以与接收者的情况有关。
c.熵是在平均意义上来表征信源的总体特征的,信源熵是表征信源的平均不确定度,平均自信息量是消除信源不确定度时所需要的信息的量度,即收到一个信源符号,全部解除了这个符号的不确定度。
或者说获得这么大的信息量后,信源不确定度就被消除了。
信源熵和平均自信息量两者在数值上相等,但含义不同。
当某一符号x i的概率p(x i)为零时,p(x i)log p(x i) 在熵公式中无意义,为此规定这时的p(x i)log p(x i) 也为零。
当信源X中只含有一个符号x时,必有p(x)=1,此时信源熵H(X)为零。
matlab熵值法

matlab熵值法Matlab熵值法熵值法是一种常用的多指标综合评价方法,可以用于解决决策问题。
在Matlab中,可以利用熵值法进行数据处理和分析,从而得出较为准确的评价结果。
本文将介绍熵值法的基本原理和在Matlab中的应用。
一、熵值法的基本原理熵值法是基于信息论中的熵概念发展而来的一种综合评价方法。
其基本原理是通过计算指标的熵值和权重,将不同指标的数据标准化,并根据标准化后的数据进行综合评价。
具体步骤如下:1. 确定评价指标:根据具体问题,确定需要评价的指标,例如生产效率、环境质量等。
2. 收集数据:收集各指标的数据,可以是实测数据或者经验数据。
3. 数据标准化:将各指标的数据进行标准化处理,一般采用线性标准化或者非线性标准化方法。
4. 计算熵值:根据标准化后的数据,计算各指标的熵值。
熵值越小,表示该指标的信息量越大。
5. 计算权重:根据各指标的熵值,计算各指标的权重。
熵值越小,表示该指标的重要性越高,权重越大。
6. 综合评价:将各指标的权重与标准化后的数据相乘,得到各指标的加权综合值。
根据综合值的大小,对各评价对象进行排序或者分类。
二、Matlab中的熵值法实现在Matlab中,可以利用熵值法进行数据处理和分析。
下面以一个简单的案例来说明如何使用Matlab进行熵值法分析。
假设我们需要对某个城市的环境质量进行评价,评价指标包括空气质量、水质、噪声等。
我们已经收集到了这些指标的数据,并进行了标准化处理。
1. 首先,我们需要定义评价指标和标准化后的数据。
可以使用Matlab中的矩阵来表示,每一行表示一个评价对象,每一列表示一个评价指标。
2. 然后,我们可以使用熵值法的计算公式来计算各指标的熵值和权重。
在Matlab中,可以使用熵值法的计算函数进行计算。
函数的输入参数为标准化后的数据,输出结果为各指标的熵值和权重。
3. 最后,我们可以根据各指标的权重和标准化后的数据,计算各评价对象的综合值。
根据综合值的大小,可以对评价对象进行排序或者分类。
求条件熵和互信息的matlab实现

求条件熵和互信息的matlab实现作业1 _ 08116649 _朝云_宋EEE315信息论与编码分配1渠道容量和相互性信息身份证号码:08116649姓名:朝云。
歌曲作业1 _ 08116649 _朝云_宋1.介绍香农的信息内容应该具有一些直观的属性:1(()事件中包含的信息应该根据事件的不确定性的一些度量来定义。
不太确定的事件应该比更确定的事件包含更多的信息。
作为单个事件的不相关事件的信息应该等于不相关事件的信息之和。
在信息论中,熵是对随机变量不确定性的度量。
在这种情况下,该术语通常指的是香农熵,它量化了消息中包含的信息的期望值,通常以比特等单位表示。
在这种情况下,“消息”意味着随机变量的具体实现。
熵被定义为:H(x)???p(x)logp(x)它可以被视为:发送某种形式的信息所需的最低成本的量度;以比特为单位测量的信息的“惊奇因子的数量”。
或者携带信息需要花费多少能量,这些能量转化为编码信息所需的最小比特数。
在概率论和信息论中,相互两个随机变量的信息(有时被古老的术语transinformation所知)是衡量两个随机变量相互依赖性的一个量。
当使用以2为基数的对数时,相互信息最常见的度量单位是比特。
相互信息可以定义为:其中p(x,Y)是X和Y的联合概率分布函数,p1(x)和p2(y)分别是X 和Y的边际概率分布函数。
作业1 _ 08116649 _朝云_宋2.结果与Matlab条纹和函数(1)。
写一个Matlab函数来计算给定离散分布的源的熵。
计算下列分布的熵。
绘制每个分布的熵图。
甲={乙= {C={0.1,0.31,0.001,0.009,0.2,0.15,0.23}解:Matlab代码> > A =[1/2 1/4 1/8 1/8];> > H1=-sum(A.*log2(A)) H1 =1.7500> > B =[1/4 1/4 1/4];> > H2 =-总和(B.*log2(B)) H2 = 2> > C=[0.1、0.31、0.001、0.009、0.2、0.15、0.23];> > H3 =-总和(摄氏度*log2(摄氏度))1111,,248814}14岁,14岁,14,}作业1 _ 08116649 _朝云_宋H3 =2.2897(2)。
验证最大离散熵定理 使用matlab 绘制二进制信源的熵随概率变化的曲线

验证最大离散熵定理使用matlab 绘制二进制信源的熵随概率变化的曲线摘要:1.引言2.最大离散熵定理的定义和意义3.二进制信源的熵随概率变化的曲线4.使用Matlab 验证最大离散熵定理5.结论正文:1.引言在信息论中,熵是一个重要的概念,用于度量信息的不确定性或混乱程度。
离散信源的熵是描述其信息产生不确定性的一个指标,而最大离散熵定理则是指离散信源的熵在某种情况下可以达到的最大值。
本文将通过使用Matlab 绘制二进制信源的熵随概率变化的曲线,来验证最大离散熵定理。
2.最大离散熵定理的定义和意义最大离散熵定理是指对于一个有m 个符号的离散信源,其熵H(X) 可以达到的最大值为log2m,当且仅当每个符号出现的概率相等,即P(x)=1/m (x∈X)。
这意味着,当信源的不确定性最大时,信源的熵也达到最大。
3.二进制信源的熵随概率变化的曲线二进制信源是指只有两个符号的信源,例如硬币抛掷。
我们可以通过Matlab 绘制熵随概率变化的曲线,来直观地验证最大离散熵定理。
首先,我们可以定义一个二进制信源,其中每个符号的概率为p 和1-p。
然后,我们可以使用Matlab 的plot 函数绘制熵随概率变化的曲线。
具体地,我们可以将熵的计算公式H(X)=-p*log2p-(1-p)*log2(1-p) 作为plot 的函数,将p 作为x 轴的取值范围,将熵作为y 轴的取值范围。
4.使用Matlab 验证最大离散熵定理通过Matlab 绘制的熵随概率变化的曲线,我们可以看到当p=1/2 时,熵达到最大值,即H(X)=1。
这验证了最大离散熵定理的正确性。
5.结论通过使用Matlab 绘制二进制信源的熵随概率变化的曲线,我们验证了最大离散熵定理的正确性。
实验一_信息熵与图像熵计算_正确

实验一信息熵与图像熵计算(2 学时)一、实验目的1.复习MATLAB的基本命令,熟悉MATLAB下的基本函数;2.复习信息熵基本定义,能够自学图像熵定义和基本概念。
二、实验容1.能够写出MATLAB源代码,求信源的信息熵;2.根据图像熵基本知识,综合设计出MATLAB程序,求出给定图像的图像熵。
三、实验仪器、设备1.计算机-系统最低配置256M存、P4 CPU;2.MATLAB编程软件。
四实验流程图五实验数据及结果分析四、实验原理1.MATLAB中数据类型、矩阵运算、图像文件输入与输出知识复习。
2.利用信息论息熵概念,求出任意一个离散信源的熵(平均自信息量)。
自信息是一个随机变量,它是指某一信源发出某一消息所含有的信息量。
所发出的消息不同,它们所含有的信息量也就不同。
任何一个消息的自信息量都代表不了信源所包含的平均自信息量。
不能作为整个信源的信息测度,因此定义自信息量的数学期望为信源的平均自信息量:1( ) 1 ( ) [log ] ( ) log ( ) i n i i p a i H E p a p a X 信息熵的意义:信源的信息熵H是从整个信源的统计特性来考虑的。
它是从平均意义上来表征信源的总体特性的。
对于某特定的信源,其信息熵只有一个。
不同的信源因统计特性不同,其熵也不同。
3.学习图像熵基本概念,能够求出图像一维熵和二维熵。
图像熵是一种特征的统计形式,它反映了图像中平均信息量的多少。
图像的一维熵表示图像中灰度分布的聚集特征所包含的信息量,令Pi表示图像中灰度值为i的像素所占的比例,则定义灰度图像的一元灰度熵为:2550 log i i i p p H图像的一维熵可以表示图像灰度分布的聚集特征,却不能反映图像灰度分布的空间特征,为了表征这种空间特征,可以在一维熵的基础上引入能够反映灰度分布空间特征的特征量来组成图像的二维熵。
选择图像的邻域灰度均值作为灰度2分布的空间特征量,与图像的像素灰度组成特征二元组,记为(i,j),其中i表示像素的灰度值(0<=i<=255),j表示邻域灰度(0<=j<=255),2 ( , ) / ij p f i j N上式能反应某像素位置上的灰度值与其周围像素灰度分布的综合特征,其中f(i,j)为特征二元组(i,j)出现的频数,N为图像的尺度,定义离散的图像二维熵为:2550 log ij ij i p p H构造的图像二维熵可以在图像所包含信息量的前提下,突出反映图像中像素位置的灰度信息和像素邻域灰度分布的综合特征。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一:计算离散信源的熵
一、实验设备:
1、计算机
2、软件:Matlab
二、实验目的:
1、熟悉离散信源的特点;
2、学习仿真离散信源的方法
3、学习离散信源平均信息量的计算方法
4、熟悉 Matlab 编程;
三、实验内容:
1、写出计算自信息量的Matlab 程序
2、写出计算离散信源平均信息量的Matlab 程序。
3、掌握二元离散信源的最大信息量与概率的关系。
4、将程序在计算机上仿真实现,验证程序的正确性并完成习题。
四、实验报告要求
简要总结离散信源的特点及离散信源平均信息量的计算,写出习题的MATLAB 实现语句。
信息论基础:
自信息的计算公式 21()log a
I a p = Matlab 实现:I=log2(1/p) 或I=-log2(p) 熵(平均自信息)的计算公式
22111()log log q
q i i i i i i H x p p p p ====-∑∑ Matlab 实现:HX=sum(-x.*log2(x));或者h=h-x(i)*log2(x(i)); 习题:
1. 甲地天气预报构成的信源空间为:
1111(),,,8482
X p x ⎡⎤⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦⎣⎦ 小雨 云 大雨晴 乙地信源空间为:
17(),88
Y p y ⎡⎤⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦⎣⎦ 小雨晴 求此两个信源的熵。
求各种天气的自信息量。
案:() 1.75;()0.5436H X H Y ==
运行程序:
p1=[1/2,1/4,1/8,1/8];%p1代表甲信源对应的概率p2=[7/8,1/8];%p2代表乙信源对应的概率
H1=0.0;
H2=0.0;
I=[];
J=[];
for i=1:4
H1=H1+p1(i)*log2(1/p1(i));
I(i)=log2(1/p1(i));
end
disp('自信息量分别为:');
I
disp('H1信源熵为:');
H1
for j=1:2
H2=H2+p2(j)*log2(1/p2(j));
J(j)=log2(1/p2(j));
end
disp('自信息量分别为:');
J
disp('H2信源熵为:');
H2。