function [PCs, err] = PCAspace ( data, N ) % % function [U, S, mn, err] = PCA ( dataTrain, dataTest, N ) % % Computes PCA and reconstruction error forsome test data. % % data [n x m] input data points (column-wise) % % N scalar first N principle components are retained % % PCs.U [n x N] PCA basis % % PCs.S [n x 1] singular values % % PCs.mu [n x 1] mean data vector % % err [m' x 1] reconstruction error (absolute value of % distance from PCA space % % Markus Weber % % (c) by California Institute of Technology % % $Log$ % M = size(data, 2); PCs.mu = mean(data')'; phi = data - PCs.mu * ones(1, M); [U S V] = svd(phi * phi'); PCs.S = diag(S); PCs.U = U(:, 1:N); %phiTest = dataTest - PCs.mu * ones(1, size(dataTest, 2)); %D = PCs.U * (PCs.U' * phiTest) - phiTest; %err = sqrt(sum(D .^ 2))';