about summary refs log tree commit diff
path: root/sourcecodes/bnt-master/KPMstats/standardize.m
diff options
context:
space:
mode:
Diffstat (limited to 'sourcecodes/bnt-master/KPMstats/standardize.m')
-rw-r--r--sourcecodes/bnt-master/KPMstats/standardize.m18
1 files changed, 18 insertions, 0 deletions
diff --git a/sourcecodes/bnt-master/KPMstats/standardize.m b/sourcecodes/bnt-master/KPMstats/standardize.m
new file mode 100644
index 00000000..18c17ec3
--- /dev/null
+++ b/sourcecodes/bnt-master/KPMstats/standardize.m
@@ -0,0 +1,18 @@
+function [S, mu, sigma2] = standardize(M, mu, sigma2)
+% function S = standardize(M, mu, sigma2)
+% Make each column of M be zero mean, std 1.
+% Thus each row is scaled separately.
+%
+% If mu, sigma2 are omitted, they are computed from M
+
+M = double(M);
+if nargin < 2
+  mu = mean(M,2);
+  sigma2 = std(M,0,2);
+  sigma2 = sigma2 + eps*(sigma2==0);
+end
+
+[nrows ncols] = size(M);
+S = M - repmat(mu(:), [1 ncols]);
+S = S ./ repmat(sigma2, [1 ncols]);
+