⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makebasis.m

📁 PCA MATLAB源代码
💻 M
字号:
function A = makebasis(X)
% A = makebase(X)
%
% Function that creates the "faces space", i. e. the
% basis of the space created throught the eigenvectors
% of the covariance matrix of the population matrix.
%
% X = Population matrix (as described in function
%     makepop().
%
% A = Orthogonal basis of the face space.

% Covariance matrix:
['Computing the covariance matrix of X (Cx)...']
Cx = cov(X'); % The matrix X must be transposed because each row 
              % of X ia a variable, and each column of X is an
              % observation (face).
              
['Computing the eigenfaces and eigenvalues of Cx...']
[V,D] = eig(Cx); % D = diagonal matrix with the eigenvalues 
                 % V = matrix in witch eacj column is the 
                 % respective eigenfaces:
                 % Cx*V = V*D.
                 
['Sorting the eigenvectors with respect to the decreasing order of the eigenvalues...'] 
eigenvalues = diag(D);
[eigenvalues, index] = sort(eigenvalues);
sizeV=size(V,2);
A=zeros(size(V));
for c=1:sizeV,
   eigenvalues_sort(c) = eigenvalues(sizeV-c+1);
   A(:,c) = V(:,index(sizeV-c+1)); % A is the eigenvector matrix sorted with respect to the eigenvalues.
end
return

⌨️ 快捷键说明

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