function kl = kl_nats(pp, qq) %KL_NATS divergence between two discrete distributions measured in nats % % kl = kl_divergence(pp, qq) % = pp(:)'*log(pp(:)./qq(:)), but with zeros from pp removed. % % See also, KL_BITS, HBITS, HNATS % Iain Murray, September 2008 if nargin < 2 error('Not enough input arguments.'); end if ~isequal(size(pp), size(qq)) error('Input probability arrays must have the same size.'); end mask = (pp(:)~=0); m = @(x) x(mask); s = @(x) m(x(:)); kl = s(pp)'*reallog(s(pp)./s(qq));