col_entropy.m
来自「为stanford大学donoho教授所编写的redgit变换源代码。是用c编写」· M 代码 · 共 33 行
M
33 行
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 + =
减小字号Ctrl + -
显示快捷键?