bonjour j'ai utilisé dans mon interface graphique un popupmenu qui contient trois méthodes de classification (ACP ,FPCM,ACP+FPCM) et j'ai un pushbutton traiter. Si je choisis FPCM et clique sur traiter, il affiche une figure de la méthode FPCM. J'ai fait le code suivant, mais si je clique sur le bouton traiter, il affiche le graphe de FPCM quelque soit le choix; (ACP ,FPCM,ACP+FPCM) aidez-mois SVP. Où est le problème?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
function popupmenu3_CreateFcn(hObject, eventdata, handles)
 
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end
set(hObject,'string',{'ACP','FPCM','ACP & FPCM'});
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
function traiter_Callback(hObject, eventdata, handles)
% hObject    handle to traiter (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% --- Executes on button press in telecharger.
%    declaration
load fisheriris; % Fisher's iris data (1936°
axes(handles.axes1);
[l,V,T,U] = FPCMfing( meas,3,2);
plot3(meas(:,1),meas(:,2),meas(:,3),'s b');
hold on
plot3(V(:,1),V(:,2),V(:,3),'ko');
plot3(V(:,1),V(:,2),V(:,3),'kx');
hold off
xlabel('Sepal Length'); ylabel('Sepal Width'); zlabel('Petal Length');
view(-137,10);
grid on
U=handles.metricdata.U;
V=handles.metricdata.V;
T=handles.metricdata.T;
l=handles.metricdata.l;
meas=handles.metricdata.meas;
popup_sel_index = get(handles.popupmenu2, 'Value');
switch popup_sel_index
    case 1
          [va,vc]=acp(meas);
    case 2
        %------------------------la méthode FPCM-----------------------
        [l,V,U,T] = FPCMfing( meas,c,m);
                  handles.metricdata.l=l;
                  handles.metricdata.U=U;
                  handles.metricdata.V=V;
                  handles.metricdata.T=T;
 
        popup_sel_index = get(handles.popupmenu1, 'Value');
end