view general/numerical/stoch.m @ 42:ae596261e75f

Various fixes and development to audio handling
author samer
date Tue, 02 Dec 2014 14:51:13 +0000
parents e44f49929e56
children
line wrap: on
line source
function [Y,Z]=stoch(X),
% stoch- make columns sum to one (like probabilities)
%
% stoch:: [[N,M]] -> [[N,M]], [[M]].
%
% optionally returns the column sums as well. 
% NOTE: this function assumes that X contains no NaNs and
% at most one Inf per column. Eg, the function will map
%
% [2;3;6;Inf;1;8] -> [0;0;0;1;0;0]
%
% See also: the function stochastic works on ROWS not columns.


Z=sum(X,1);
Y=X./repmat(Z,size(X,1),1);

% any nans are assumed to be inf/inf so are replaced with 1
Y(isnan(Y))=1;