projet-calcul-scientifique/clusters_avec_masque.m
2023-06-10 21:16:28 +02:00

46 lines
1.4 KiB
Matlab

clear;
close all;
load eigenfaces;
% Composantes principales des donnees d'apprentissage
C = X_centre_masque*W_masque;
% Affichage des deux premieres composantes principales des donnees d'apprentissage :
% dx = 250;
% dy = 250;
% figure('Name',['Plan des deux premieres composantes principales (avec masque)'],'Position',[0,0,0.67*L,0.67*H]);
% hold on;
% for i = 1:4
% 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');
figure;
plot(lambda_masque/sum(lambda_masque)*100);
ylabel('Contraste (%)');
xlabel('Composante');
ylim([0 30])