pca1.m

来自「实现pca功能的完整matlab程序」· M 代码 · 共 31 行

M
31
字号
% PCA1: Perform PCA using covariance.
% data      --- MxN matrix of input data (M dimensions, N trials)
% signals   --- MxN matrix of projected data
% PC        --- each column is a PC
% V         --- Mx1 matrix of variances
%
function [signals, PC, V] = pca1( data )

[M, N] = size( data );

% subtract off the mean for each dimension
mn = mean( data, 2 );
data = data - repmat( mn, 1, N );

% calculate the covariance matrix
covariance = 1/ (N-1) * data * data';

% find the eigenvectors and eigenvalues
[PC, V] = eig( covariance );

% extract diagonal of matrix as vector
V = diag(V);

% sort the variances in decreasing order
[junk, rindices] = sort(-1*V);
V = V(rindices);
PC = PC(:,rindices);

% project the original data set
signals = PC' * data;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?