我想计算一段时间内矢量的Shanon熵(psi)。根据此reference,
我可以使用计算每个点熵的循环来计算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
任何想法?