Verfasst am: 18.04.2008, 09:33
Titel: mal ein kleines Beispiel für eine PCA
Hallo Signalverarbeiter,
vielleicht brauch ja jemand mal kurz eine PCA. Was ja nicht so selten ist. Da ich gerade eine übrig hatte, stelle ich sie jetzt hier mal hin. Hoffe sie ist für irgendjemand nützlich. Hab auch versucht es so zu kommentieren, dass man versteht, was man bei einer PCA überhaupt für Schritte machen muss.
Code:
% module for computing principe components of a Datamatrix % input: matrix if you, for example have a matrix of sensors, % with several timesteps fill in the matrix with % sensors = rows, timesteps = columns
% output: adjMatrix is the transformed matrix, % evm is the sorted eigenvector-matrix
% order the eigenvectors in descending order in respect to their % eigenvalues
[sortEV,sortEVInd] = sort(eigenVal,'descend');
% sort eigenvalues and store the original index
sizeEVI = size(sortEVInd);
% get the size of the index vector for the control variable
% now sort the columns of the eigenvectormatrix % by the index of the sorted eigenvalues
for i=1:sizeEVI(1)
sortEVMatrix(:,i) = eigenVec(:,sortEVInd(i));
end
% finally derive the new dataset by multiplying the sorted matrix of % eigenvectors with the adjusted matrix from the beginning optionaly you % can set all eigenvectors you do not want to have a look at to zero, then % you only will derive the signalparts you want to anaylze
evm = sortEVMatrix; % give back the sorted matrix of eigenvectors
adjMatrix = adjustMatrix; %give back the adjusted Matrix
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.