TP-traitement-audio-visuel/TP3_dams/exercice_1.m

34 lines
1.4 KiB
Mathematica
Raw Normal View History

2023-06-22 18:47:16 +00:00
donnees;
drawnow;
% Trac<EFBFBD> des donn<EFBFBD>es d'apprentissage (croix bleues) :
figure('Name','Estimation par le maximum de vraisemblance','Position',[0.33*L,0,0.33*L,0.5*H]);
plot(D_app(1,:),D_app(2,:),'+b','MarkerSize',10,'LineWidth',2);
xlabel('$x$','Interpreter','Latex');
ylabel('$y$','Interpreter','Latex');
axis([-taille taille -taille taille]);
axis equal;
hold on;
% Tirages al<EFBFBD>atoires de param<EFBFBD>tres pour l'ellipse :
nb_tirages = 10000;
parametres_test = zeros(nb_tirages,5);
parametres_test(:,1) = 2*taille/5*(rand(nb_tirages,1)+1); % Demi-grand axe
parametres_test(:,2) = rand(nb_tirages,1); % Excentricit<EFBFBD>
parametres_test(:,3) = (3*taille/5)*(2*rand(nb_tirages,1)-1); % Abscisse du centre
parametres_test(:,4) = (3*taille/5)*(2*rand(nb_tirages,1)-1); % Ordonn<EFBFBD>e du centre
parametres_test(:,5) = 2*pi*rand(nb_tirages,1); % Angle du grand axe
% Estimation de l'ellipse par le maximum de vraisemblance :
parametres_MV = max_vraisemblance(D_app,parametres_test);
% Trac<EFBFBD> de l'ellipse estim<EFBFBD>e par le maximum de vraisemblance (trait rouge) :
[x_MV,y_MV] = points_ellipse(parametres_MV,theta_affichage);
plot([x_MV x_MV(1)],[y_MV y_MV(1)],'r-','LineWidth',3);
legend(' Donnees d''apprentissage',' Ellipse estimee par MV','Location','Best');
% Calcul et affichage du score :
score_MV = calcul_score(parametres_VT,parametres_MV);
fprintf('Score de l''estimation par MV : %.3f\n',score_MV);