Files
2026-07-13 13:30:25 +08:00

11 lines
299 B
Matlab
Executable File

function [Y,s] = lognormexp(X, dim)
% Compute log(normalize(exp(x),dim)) while avoiding numerical underflow.
% By default dim = 1 (columns).
% Written by Mo Chen (sth4nth@gmail.com).
if nargin == 1
dim = find(size(X)~=1,1);
if isempty(dim), dim = 1; end
end
s = logsumexp(X,dim);
Y = X-s;