0001 function varargout = Menu_Projecta_Dades_PCA(varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 gui_Singleton = 1;
0014 gui_State = struct('gui_Name', mfilename, ...
0015 'gui_Singleton', gui_Singleton, ...
0016 'gui_OpeningFcn', @Menu_Projecta_Dades_PCA_OpeningFcn, ...
0017 'gui_OutputFcn', @Menu_Projecta_Dades_PCA_OutputFcn, ...
0018 'gui_LayoutFcn', [] , ...
0019 'gui_Callback', []);
0020 if nargin && ischar(varargin{1})
0021 gui_State.gui_Callback = str2func(varargin{1});
0022 end
0023
0024 if nargout
0025 [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
0026 else
0027 gui_mainfcn(gui_State, varargin{:});
0028 end
0029
0030 function Menu_Projecta_Dades_PCA_OpeningFcn(hObject, ~, handles, varargin)
0031
0032
0033
0034
0035 handles.output = hObject;
0036 guidata(hObject, handles);
0037
0038
0039 x=evalin('base','whos();');
0040 list=[];
0041 list2=[];
0042 for i=1:length(x)
0043 if strcmp(x(i).class,'DATA') ~=0
0044 list=[list; {x(i).name}];
0045 end
0046
0047 if strcmp(x(i).class,'PCA') ~=0
0048 if evalin('base',[x(i).name '.isModel();'])
0049 list2=[list2; {x(i).name}];
0050 end
0051 end
0052 end
0053
0054 if isempty(list)
0055 list={'No DATA object in workspace'};
0056 end
0057 set(handles.dades,'String',list);
0058 if isempty(list2)
0059 list2={'No PCA object in workspace'};
0060 end
0061 set(handles.PCAmodels,'String',list2);
0062
0063 function LoadPCA_Callback(~, ~, handles)
0064 uiwait(Menu_Crea_Model_PCA());
0065
0066 x=evalin('base','whos();');
0067 list=[];
0068 for i=1:length(x)
0069 if strcmp(x(i).class,'PCA') ~=0
0070 if evalin('base',[x(i).name '.isModel();'])
0071 list=[list; {x(i).name}];
0072 end
0073 end
0074 end
0075 if isempty(list)
0076 list={'No DATA object in workspace'};
0077 end
0078 set(handles.PCAmodels,'String',list);
0079
0080 function pushbutton2_Callback(~, ~, handles)
0081 uiwait(Menu_Load_Dades());
0082
0083 x=evalin('base','whos();');
0084 list=[];
0085 for i=1:length(x)
0086 if strcmp(x(i).class,'DATA') ~=0
0087 list=[list; {x(i).name}];
0088 end
0089 end
0090 if isempty(list)
0091 list={'No DATA object in workspace'};
0092 end
0093 set(handles.dades,'String',list);
0094
0095 function Genera_Callback(~, ~, handles)
0096 try
0097
0098 variable=get(handles.dades,'String');
0099 variable=variable{get(handles.dades,'Value')};
0100 pc=get(handles.PCAmodels,'String');
0101 pc=pc{get(handles.PCAmodels,'Value')};
0102
0103
0104 nom=get(handles.edit1,'String');
0105
0106
0107 if ~isempty(evalin('base',['whos(''' nom ''')'] ))
0108 choice = questdlg('Selected name is in use, do you want to overwride?', 'Attention', 'Yes','No','No');
0109 switch choice
0110 case 'Si'
0111
0112 inst=[ nom '=' pc '.project(' variable ');'];
0113 evalin('base',inst);
0114
0115 close('Menu_Projecta_Dades_PCA');
0116 Update_Caller();
0117
0118 case 'No'
0119
0120 end
0121 else
0122
0123 inst=[ nom '=' pc '.project(' variable ');'];
0124 evalin('base',inst);
0125
0126 close('Menu_Projecta_Dades_PCA');
0127 Update_Caller();
0128 end
0129
0130 catch err
0131 errordlg(err.message,'Error');
0132 end
0133
0134 function Update(hObject, ~, handles)
0135 handles.output = hObject;
0136
0137
0138 x=evalin('base','whos();');
0139 list=[];
0140 list2=[];
0141 for i=1:length(x)
0142 if strcmp(x(i).class,'DATA') ~=0
0143 list=[list; {x(i).name}];
0144 end
0145
0146 if strcmp(x(i).class,'PCA') ~=0
0147 if evalin('base',[x(i).name '.isModel();'])
0148 list2=[list2; {x(i).name}];
0149 end
0150 end
0151 end
0152
0153
0154 if isempty(list)
0155 list={'No DATA object in workspace'};
0156 end
0157
0158
0159 nom=get(handles.dades,'String');
0160 nom=nom{get(handles.dades,'Value')};
0161
0162
0163
0164 val=find(strcmp(nom,list));
0165 set(handles.dades,'String',list);
0166
0167 if isempty(val)
0168 set(handles.dades,'Value',1);
0169
0170 else
0171 set(handles.dades,'Value',val);
0172 end
0173
0174
0175
0176
0177
0178 if isempty(list2)
0179 list2={'No PCA object in workspace'};
0180 end
0181
0182
0183 nom=get(handles.PCAmodels,'String');
0184 nom=nom{get(handles.PCAmodels,'Value')};
0185
0186
0187 val=find(strcmp(nom,list2));
0188 set(handles.PCAmodels,'String',list2);
0189
0190 if isempty(val)
0191 set(handles.PCAmodels,'Value',1);
0192 else
0193 set(handles.PCAmodels,'Value',val);
0194 end
0195
0196 guidata(hObject, handles);
0197
0198
0199 function varargout = Menu_Projecta_Dades_PCA_OutputFcn(~, ~, handles)
0200 varargout{1} = handles.output;
0201 function PCAmodels_Callback(~, ~, ~)
0202 function PCAmodels_CreateFcn(hObject, ~, ~)
0203 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0204 set(hObject,'BackgroundColor','white');
0205 end
0206 function dades_Callback(~, ~, ~)
0207 function dades_CreateFcn(hObject, ~, ~)
0208 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0209 set(hObject,'BackgroundColor','white');
0210 end
0211 function edit1_Callback(~, ~, ~)
0212 function edit1_CreateFcn(hObject, ~, ~)
0213 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0214 set(hObject,'BackgroundColor','white');
0215 end