Home > Codi > Menu_Cross.m

Menu_Cross

PURPOSE ^

Pantalla per facilitar l'us de la Funciķ Cross4, Aquesta pantalla ens

SYNOPSIS ^

function varargout = Menu_Cross(varargin)

DESCRIPTION ^

Pantalla per facilitar l'us de la Funciķ Cross4, Aquesta pantalla ens
permetrā escollir la configuraciķ amb que bolem realitzar el cross
validation. Un cop configurat s'ens mostraran els resultats mitjanįant
plots i altres pantalles.

Per invocar directament des de consola aquesta pantalla nomes cal
invocar-ne la funcio sense cap parametre extra:
Menu_Cross();

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SUBFUNCTIONS ^

SOURCE CODE ^

0001 function varargout = Menu_Cross(varargin)
0002 %Pantalla per facilitar l'us de la Funciķ Cross4, Aquesta pantalla ens
0003 %permetrā escollir la configuraciķ amb que bolem realitzar el cross
0004 %validation. Un cop configurat s'ens mostraran els resultats mitjanįant
0005 %plots i altres pantalles.
0006 %
0007 %Per invocar directament des de consola aquesta pantalla nomes cal
0008 %invocar-ne la funcio sense cap parametre extra:
0009 %Menu_Cross();
0010 %
0011 
0012 gui_Singleton = 1;
0013 gui_State = struct('gui_Name',       mfilename, ...
0014                    'gui_Singleton',  gui_Singleton, ...
0015                    'gui_OpeningFcn', @Menu_Cross_OpeningFcn, ...
0016                    'gui_OutputFcn',  @Menu_Cross_OutputFcn, ...
0017                    'gui_LayoutFcn',  [] , ...
0018                    'gui_Callback',   []);
0019 if nargin && ischar(varargin{1})
0020     gui_State.gui_Callback = str2func(varargin{1});
0021 end
0022 
0023 if nargout
0024     [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
0025 else
0026     gui_mainfcn(gui_State, varargin{:});
0027 end
0028 
0029 % --- Executes just before Menu_Cross is made visible.
0030 function Menu_Cross_OpeningFcn(hObject, ~, handles, varargin)
0031 %funciķ que s'invoca en crear la finestra a varargin ens arriven el
0032 %possibles parametres extres d'invocaciķ de Pantalla. No els
0033 %utilitzarem per res. hObject i handles els modificarem.
0034 
0035 %Menu
0036 handles.output = hObject;
0037 handles=menu(handles);
0038 guidata(hObject, handles);
0039 
0040 %busquem tots els objectes dades que hi hagi
0041 x=evalin('base','whos();');
0042 list=[];
0043 for i=1:length(x)
0044     if strcmp(x(i).class,'DATA') ~=0
0045        list=[list; {x(i).name}];
0046     end
0047 end
0048 %si no ni ha escrivim un misatge
0049 if isempty(list)
0050     list={'No hi ha cap objecte DATA'};
0051 end
0052 %posem la llista de variables disponibles al popup menu
0053 set(handles.popupmenu1,'String',list);
0054 
0055 set(handles.popupmenu2,'Enable','off');
0056 set(handles.popupmenu3,'Enable','off');
0057 set(handles.popupmenu4,'Enable','off');
0058 
0059 set(handles.edit1,'Enable','off');
0060 set(handles.edit2,'Enable','off');
0061 
0062 
0063 set(handles.pushbutton1,'Enable','off');
0064 
0065 set(handles.popupmenu8,'Enable','off');
0066 set(handles.popupmenu9,'Enable','off');
0067 set(handles.popupmenu10,'Enable','off');
0068 set(handles.popupmenu11,'Enable','off');
0069 set(handles.popupmenu12,'Enable','off');
0070 set(handles.popupmenu13,'Enable','off');
0071 popupmenu1_Callback(-1, -1, handles);
0072 popupmenu2_Callback(-1, -1, handles);
0073 
0074 % --- Outputs from this function are returned to the command line.
0075 function varargout = Menu_Cross_OutputFcn(~, ~, handles) 
0076 varargout{1} = handles.output;
0077 
0078 % --- Executes on selection change in popupmenu1.
0079 function popupmenu1_Callback(~, ~, handles)
0080 set(handles.popupmenu2,'Enable','on');
0081 set(handles.popupmenu3,'Enable','on');
0082 set(handles.popupmenu4,'Enable','on');
0083 
0084 set(handles.edit1,'Enable','on');
0085 set(handles.edit2,'Enable','on');
0086 %set(handles.edit3,'Enable','on');
0087 
0088 set(handles.pushbutton1,'Enable','on');
0089 
0090 set(handles.popupmenu8,'Enable','on');
0091 set(handles.popupmenu9,'Enable','on');
0092 set(handles.popupmenu10,'Enable','on');
0093 set(handles.popupmenu11,'Enable','on');
0094 set(handles.popupmenu12,'Enable','on');
0095 set(handles.popupmenu13,'Enable','on');
0096 
0097 % --- Executes on button press in pushbutton1.
0098 function pushbutton1_Callback(~, ~, handles)
0099 %recupero el nom de 'lobjecte que ha seleccionat l'usuari
0100 nom=get(handles.popupmenu1,'String');
0101 nom=nom{get(handles.popupmenu1,'Value')};
0102 
0103 a=evalin('base',[ nom '.copy;']);
0104 
0105 dc=get(handles.popupmenu2,'Value');
0106 
0107 metode=get(handles.popupmenu3,'Value');
0108 
0109 net=get(handles.popupmenu4,'Value');
0110 
0111 div=str2double(get(handles.edit1,'String'));
0112 
0113 parami=-1;
0114 switch dc
0115     case 4
0116         %distancies dobles
0117         vk=[ str2double(get(handles.edit2,'String')) str2double(get(handles.edit6,'String')) ];
0118     case 5
0119         %distancies dobles
0120         vk=[ str2double(get(handles.edit2,'String')) str2double(get(handles.edit6,'String')) ];
0121     case 6
0122         %distancies dobles
0123         vk=[ str2double(get(handles.edit2,'String')) str2double(get(handles.edit6,'String')) ];
0124         
0125     case 17
0126         %distancia simple mes parametre extra
0127         vk=[ str2double(get(handles.edit2,'String'))  str2double(get(handles.edit2,'String')) ];
0128         parami =str2double( get(handles.edit6,'String'));
0129         
0130     case 18
0131         %distancia simple mes parametre extra
0132         vk=[ str2double(get(handles.edit2,'String'))  str2double(get(handles.edit2,'String')) ];
0133         parami =str2double( get(handles.edit6,'String'));
0134         
0135     otherwise
0136         %distancies simples nomes necesitem un numero
0137         vk=[ str2double(get(handles.edit2,'String')) str2double(get(handles.edit2,'String')) ];
0138 end
0139 
0140 %Recuperem les classes
0141 
0142 %classes = str2double(get(handles.edit7,'String')); %ha deixat de
0143 %funcionar!!!
0144 classes = eval(get(handles.edit7,'String'));
0145 
0146 %BW o VW
0147 W= get(handles.popupmenu11,'Value')-1;
0148 %fixem el metode d'estandaritzacio
0149 est= get(handles.popupmenu8,'Value');
0150 %treure forma mitja
0151 FM = get(handles.popupmenu10,'Value')-1;
0152 %fixem el metode de seleccio de components principals
0153 Metode = get(handles.popupmenu9,'Value')-1;
0154 %calcullimits
0155 limits= get(handles.popupmenu12,'Value')-1;
0156 
0157 conts= get(handles.popupmenu13,'Value')-1;
0158 
0159 if isempty(a.getBatchLabel())
0160     a.setBatchLabel(num2cell(1:a.getBatchCount))
0161 end
0162 
0163 % [a b ~]=Cross3(a,div,vk ,dc,metode,net,W,est,FM,Metode,limits,conts,classes,parami,'plots');
0164 
0165 [a b]=Cross4(a,div,vk ,dc,metode,net,W,est,FM,Metode,limits,conts,classes,parami,'plots');
0166  Menu_Veure_Veins_2(a,b);
0167 
0168 
0169 function pushbutton2_Callback(~, ~, ~)
0170 uiwait(Menu_Load_Dades());
0171 
0172 
0173 function popupmenu1_CreateFcn(hObject, ~, ~)
0174 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0175     set(hObject,'BackgroundColor','white');
0176 end
0177 function edit1_Callback(~, ~, ~)
0178 function edit1_CreateFcn(hObject, ~, ~)
0179 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0180     set(hObject,'BackgroundColor','white');
0181 end
0182 function edit2_Callback(~, ~, ~)
0183 function edit2_CreateFcn(hObject, ~, ~)
0184 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0185     set(hObject,'BackgroundColor','white');
0186 end
0187 
0188 % function edit3_Callback(~, ~, ~)
0189 % function edit3_CreateFcn(hObject, ~, ~)
0190 % if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0191 %     set(hObject,'BackgroundColor','white');
0192 % end
0193 function popupmenu2_Callback(~, ~, handles)
0194 switch get(handles.popupmenu2,'value')
0195     case 4
0196         set(handles.text4,'string','Number of cases to retreave (Q)')
0197         set(handles.text18,'string','Number of cases to retreave (T^2)')
0198         set(handles.text18,'visible','on');
0199         set(handles.edit6,'visible','on');
0200         
0201     case 5
0202         set(handles.text4,'string','Number of cases to retreave (Q)')
0203         set(handles.text18,'string','Number of cases to retreave (PC)')
0204         set(handles.text18,'visible','on');
0205         set(handles.edit6,'visible','on');
0206         
0207     case 6
0208         set(handles.text4,'string','Number of cases to retreave (T^2)')
0209         set(handles.text18,'string','Number of cases to retreave (PC)')
0210         set(handles.text18,'visible','on');
0211         set(handles.edit6,'visible','on');
0212         
0213     case 17
0214         set(handles.text4,'string','Number of cases to retreave')
0215         set(handles.text18,'string','distance parameter')
0216         set(handles.text18,'visible','on');
0217         set(handles.edit6,'visible','on');
0218         
0219     case 18
0220         set(handles.text4,'string','Number of cases to retreave')
0221         set(handles.text18,'string','distance parameter')
0222         set(handles.text18,'visible','on');
0223         set(handles.edit6,'visible','on');
0224         
0225     otherwise
0226         %distancies d'1 nivell i sense parametres extres
0227         set(handles.text4,'string','Number of cases to retreave')
0228         set(handles.text18,'visible','off');
0229         set(handles.edit6,'visible','off');
0230     
0231 end
0232 
0233 function popupmenu2_CreateFcn(hObject, ~, ~)
0234 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0235     set(hObject,'BackgroundColor','white');
0236 end
0237 function popupmenu3_Callback(~, ~, ~)
0238 function popupmenu3_CreateFcn(hObject, ~, ~)
0239 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0240     set(hObject,'BackgroundColor','white');
0241 end
0242 function popupmenu4_Callback(~, ~, ~)
0243 function popupmenu4_CreateFcn(hObject, ~, ~)
0244 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0245     set(hObject,'BackgroundColor','white');
0246 end
0247 function popupmenu8_Callback(~, ~, ~)
0248 function popupmenu8_CreateFcn(hObject, ~, ~)
0249 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0250     set(hObject,'BackgroundColor','white');
0251 end
0252 function popupmenu9_Callback(~, ~, ~)
0253 function popupmenu9_CreateFcn(hObject, ~, ~)
0254 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0255     set(hObject,'BackgroundColor','white');
0256 end
0257 function popupmenu10_Callback(~, ~, ~)
0258 function popupmenu10_CreateFcn(hObject, ~, ~)
0259 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0260     set(hObject,'BackgroundColor','white');
0261 end
0262 function popupmenu11_Callback(~, ~, ~)
0263 function popupmenu11_CreateFcn(hObject, ~, ~)
0264 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0265     set(hObject,'BackgroundColor','white');
0266 end
0267 function popupmenu12_Callback(~, ~, ~)
0268 function popupmenu12_CreateFcn(hObject, ~, ~)
0269 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0270     set(hObject,'BackgroundColor','white');
0271 end
0272 function Update(hObject, ~, handles) 
0273 handles.output = hObject;
0274 handles=menu(handles);
0275 
0276 %Tornem a crear la llista d'objectes DATA
0277 x=evalin('base','whos();');
0278 list=[];
0279 for i=1:length(x)
0280     if strcmp(x(i).class,'DATA') ~=0
0281         list=[list; {x(i).name}];
0282     end
0283 end
0284 if isempty(list)
0285     list={'No DATA object in workspace'};
0286 end
0287 
0288 %busquem el valor que te el popupmenu actualment
0289 nom=get(handles.popupmenu1,'String');
0290 nom=nom{get(handles.popupmenu1,'Value')};
0291 
0292 
0293 %busquem aquest nom entre la llista actual
0294 
0295 val=find(strcmp(nom,list));
0296 set(handles.popupmenu1,'String',list);
0297 
0298 if isempty(val)
0299     set(handles.popupmenu1,'Value',1);
0300     
0301     %i desactivem els menus!
0302     set(handles.popupmenu2,'Enable','off');
0303     set(handles.popupmenu3,'Enable','off');
0304     set(handles.popupmenu4,'Enable','off');
0305     
0306     set(handles.edit1,'Enable','off');
0307     set(handles.edit2,'Enable','off');
0308     %set(handles.edit3,'Enable','off');
0309     
0310     set(handles.pushbutton1,'Enable','off');
0311     
0312     set(handles.popupmenu8,'Enable','off');
0313     set(handles.popupmenu9,'Enable','off');
0314     set(handles.popupmenu10,'Enable','off');
0315     set(handles.popupmenu11,'Enable','off');
0316     set(handles.popupmenu12,'Enable','off');
0317     set(handles.popupmenu13,'Enable','off');
0318     
0319 else
0320     set(handles.popupmenu1,'Value',val);
0321 end
0322 
0323 guidata(hObject, handles);
0324 function popupmenu13_Callback(~, ~, ~)
0325 function popupmenu13_CreateFcn(hObject, ~, ~)
0326 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0327     set(hObject,'BackgroundColor','white');
0328 end
0329 function edit6_Callback(~, ~, ~)
0330 function edit6_CreateFcn(hObject, ~, ~)
0331 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0332     set(hObject,'BackgroundColor','white');
0333 end
0334 function edit7_Callback(~, ~, ~)
0335 function edit7_CreateFcn(hObject, ~, ~)
0336 % hObject    handle to edit7 (see GCBO)
0337 % eventdata  reserved - to be defined in a future version of MATLAB
0338 % handles    empty - handles not created until after all CreateFcns called
0339 
0340 % Hint: edit controls usually have a white background on Windows.
0341 %       See ISPC and COMPUTER.
0342 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0343     set(hObject,'BackgroundColor','white');
0344 end

Generated on Wed 12-Sep-2012 13:03:54 by m2html © 2005