close all;
clear all;

% Einlesen der Daten 
load samples.dat
[m, dim] = size(samples);


% Berechnung der PCA-Transformation
samples  = samples - ones(m,1)*mean(samples);
[ev, ew] = eig(cov(samples));
[wert sort_index] = sort(-diag(ew));
hat_transf = ev(:,sort_index);

% PCA-Transformation der Daten
samples_t = samples * hat_transf;

% Ausgabe der PCA-transformierten Daten 
% Dargestellt werden die ersten beiden PCA-Komponenten

plot(samples_t(:,1),samples_t(:,2) ,'.');
title(['PCA-transformierte Datenpunkte, Mittelwert: ',...
       num2str(mean(samples_t),3),', Standardabweichung: ',...
       num2str(std(samples_t),3)]);
xlabel('1. PCA Komponente');
ylabel('2. PCA Komponente');
print samples_t.eps -deps

ev
ew

save ev.dat ev -ascii
save ew.dat ew -ascii

save samples_t.dat samples_t -ascii
