wolffd@0: function [S, mu, sigma2] = standardize(M, mu, sigma2) wolffd@0: % function S = standardize(M, mu, sigma2) wolffd@0: % Make each column of M be zero mean, std 1. wolffd@0: % Thus each row is scaled separately. wolffd@0: % wolffd@0: % If mu, sigma2 are omitted, they are computed from M wolffd@0: wolffd@0: M = double(M); wolffd@0: if nargin < 2 wolffd@0: mu = mean(M,2); wolffd@0: sigma2 = std(M,0,2); wolffd@0: sigma2 = sigma2 + eps*(sigma2==0); wolffd@0: end wolffd@0: wolffd@0: [nrows ncols] = size(M); wolffd@0: S = M - repmat(mu(:), [1 ncols]); wolffd@0: S = S ./ repmat(sigma2, [1 ncols]); wolffd@0: