Shannon熵为传染媒介

时间:2017-10-18 10:33:53

标签: matlab statistics

我想计算一段时间内矢量的Shanon熵(psi)。根据此referenceenter image description here

我可以使用计算每个点熵的循环来计算psi的每个元素的熵。我不明白的是如何设置psi(tk)躺在某个箱子中的概率。以及如何设置箱的总数。 我尝试使用Matlab的直方图命令生成合适的箱(“[N,edge] = histcounts(psi)”),但我不知道如何从那里继续。如何获得每个元素在第x个bin中的概率?

这是我目前的代码:

% get the number of bins
[N,edges] = histcounts(psi)

%// Compute probability
h = hist(psi);
pdf = h / length(psi);

%// Set any entries that are 0 to 1 so that log calculation equals 0.
pdf(pdf == 0) = 1;
e=[];
%// Calculate entropy
for i=1:length(N)
  e(i) = -sum(pdf(i).*log2(pdf(i)));
end

任何想法?

0 个答案:

没有答案