📄 col_entropy.m
字号:
function ent = col_entropy(x, tent, pent)
% COL_ENTROPY Compute entropy of each column of a matrix
n = size(x, 1);
switch tent
case 'shannon'
x2 = x.^2;
s = sum(x2) + eps;
p = x2 ./ s(ones(n, 1), :);
ent = -sum(p .* log(p + eps));
case 'norm'
y = abs(x);
ent = sum(y.^pent);
case 'log'
ent = sum(log(abs(x) + eps));
case {'sure', 'SURE'}
x2 = x.^2;
t2 = pent.^2;
xgt = sum(x2 > t2);
xlt = n - xgt;
ent = n - (2 * xlt) + (t2 * xgt) + sum(x2 .* (x2 <= t2));
otherwise
error('Invalid entropy type');
end
prec = 1.0E-10;
ent(find(abs(ent) < prec)) = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -