Matlab 香农';s熵计算
我有一个概率分布,它定义了Matlab 香农';s熵计算,matlab,statistics,probability,information-theory,Matlab,Statistics,Probability,Information Theory,我有一个概率分布,它定义了n可能状态的发生概率 我想计算给定概率分布的香农熵的值,以位为单位 我可以使用wentropy(x,'shannon')来获取值吗?如果可以,我在哪里可以定义系统可能具有的状态数?既然您已经有了概率分布,请将其称为p,您可以执行以下操作,而不是使用wentropy: H = sum(-(p(p>0).*(log2(p(p>0))))); 这给出了以位为单位的熵H p之和必须为1。熵是否可能以字节为单位重复?你确定吗?@A.Donda我刚刚将其编辑为“位”。
n
可能状态的发生概率
我想计算给定概率分布的香农熵的值,以位为单位
我可以使用
wentropy(x,'shannon')
来获取值吗?如果可以,我在哪里可以定义系统可能具有的状态数?既然您已经有了概率分布,请将其称为p
,您可以执行以下操作,而不是使用wentropy
:
H = sum(-(p(p>0).*(log2(p(p>0)))));
这给出了以位为单位的熵H
p
之和必须为1。熵是否可能以字节为单位重复?你确定吗?@A.Donda我刚刚将其编辑为“位”。(这是一个很好的例子,说明为什么他们不应该在编辑时使用最小字符数,因为我必须进行其他编辑才能修复它:单个单词可能很重要)。谢谢。还有一个问题,如何在matlab中定义概率分布?作为向量?[0,0.5,0.8…]是的,我主要关心的是方法。我有一个系统每个状态的概率向量。例如,如果一个状态的概率值为1,则它很可能是当前状态,如果它的值为0,则它是系统的不可能状态。再次感谢。是的,这是概率分布的概念,但请记住,所有状态的概率之和必须为一。你是对的,但我不想称之为pdf,因为概率就像是对系统可能状态的约束,因此降低了系统的熵水平。例如,如果有三种状态的可能性相等,而有一种是不可能的,我会把它记为[1,1,1,0]。我希望我的方法不是太离经叛道。