mypca() - Perform Principal Component Analysis (PCA) on a data matrix. The linear PCA mixture equation is written somewhat differently than the standard ICA equation, though they are equivalent. First, in PCA the eigenvector matrix is the inverse of the unmixing matrix (i.e., it is the mixing or back propagation matrix). Second, the eigenvectors and component activations are normalized (to length 1), and the eigenvalues give its original length: >> data = [eigvecs * eye(eigvals)] * activations; Compare this with the (unnormalized) ICA model: >> data = [inv(weights*sphere)] * activations; Usage: >> [activations,eigvecs,eigvals] = mypca(data,numproj); Inputs: data - each column is a variable, each row an observation numproj - number of projected principal components to return Outputs: activations - data projected into the principal component subspace (activations) eigvecs - columns are component eigenvectors (inverse of the unmixing matrix) eigvals - component eigenvalues (lengths of the eigenvectors) See also: runica(), varimax(), promax(), qrtimax(). Toolbox function list