如果我使用 Matlab 函数估计标准正态随机变量向量的熵entropy()
,我会在 4 区域的某处得到答案,而实际熵应该0.5 * log(2*pi*e*sigma^2)
大约等于 1.4。
有谁知道差异来自哪里?
注意:为了节省时间,这里是 Matlab 代码
for i = 1:1000
X(i) = randn();
end
'The entropy of X is'
entropy(X)
请阅读帮助 ( )help entropy
或文档。entropy
您会看到它是为图像设计的,并使用直方图技术,而不是通过分析计算它。如果您想要来自维基百科的公式,您需要创建自己的函数,但由于公式非常简单,这应该没问题。
我相信你得到如此不同的答案的原因是,它entropy
通过元素的数量来缩放直方图的 bin。如果您想使用这种估计技术,您将需要hist
按区域使用和缩放箱。请参阅此 StackOverflow 问题。