48 lines
1.4 KiB
Matlab
48 lines
1.4 KiB
Matlab
clear;
|
|
close all;
|
|
load eigenfaces;
|
|
|
|
% Composantes principales des donnees d'apprentissage
|
|
C = X_centre*W;
|
|
|
|
% Affichage des deux premieres composantes principales des donnees d'apprentissage :
|
|
% dx = 250;
|
|
% dy = 250;
|
|
% figure('Name',['Plan des deux premieres composantes principales (sans masque)'],'Position',[0,0,0.67*L,0.67*H]);
|
|
% hold on;
|
|
% for i = 1:nb_personnes_base
|
|
% lignes = (i-1)*nb_postures_base+1:i*nb_postures_base;
|
|
% plot(C(lignes,1),C(lignes,2),['*' 0.5*(rand(1,3)+1)],'MarkerSize',10,'LineWidth',2);
|
|
% text(C(lignes,1) + dx, C(lignes,2) + dy, liste_personnes_base(i) + "p" + string([1 2 3 4]));
|
|
% end
|
|
|
|
% Affichage des trois premieres composantes principales des donnees d'apprentissage :
|
|
figure;
|
|
hold on;
|
|
for i = 1:nb_personnes_base
|
|
lignes = (i-1)*nb_postures_base+1:i*nb_postures_base;
|
|
scatter3(C(lignes,1), C(lignes,2), C(lignes,3));
|
|
end
|
|
view(30, 20);
|
|
grid;
|
|
|
|
proportion = 0.5;
|
|
ecart_x = max(C(:,1))-min(C(:,1));
|
|
min_x = min(C(:,1))-proportion*ecart_x;
|
|
max_x = max(C(:,1))+proportion*ecart_x;
|
|
ecart_y = max(C(:,2))-min(C(:,2));
|
|
min_y = min(C(:,2))-proportion*ecart_y;
|
|
max_y = max(C(:,2))+proportion*ecart_y;
|
|
axis([min_x max_x min_y max_y]);
|
|
%axis equal;
|
|
set(gca,'FontSize',20);
|
|
xlabel('$C_1$','FontSize',30,'Interpreter','Latex');
|
|
ylabel('$C_2$','FontSize',30,'Interpreter','Latex');
|
|
zlabel('$C_3$','FontSize',30,'Interpreter','Latex');
|
|
|
|
figure;
|
|
plot(lambda/sum(lambda)*100);
|
|
ylabel('Contraste (%)');
|
|
xlabel('Composante');
|
|
ylim([0 30])
|