📄 als2004multi.m
字号:
function varargout = als2004multi(varargin)
% ALS2004MULTI M-file for als2004multi.fig
%
% ALS2004MULTI permet la introduccio de restriccions en la resolucio.
%
% Last Modified by GUIDE v2.5 26-Jul-2004 16:10:08
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @als2004multi_OpeningFcn, ...
'gui_OutputFcn', @als2004multi_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin & isstr(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before als2004multi is made visible.
function als2004multi_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to als2004multi (see VARARGIN)
% Choose default command line output for als2004multi
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
if evalin('base','als_opt.multi.datamod')==1
set(handles.check_ccons,'enable','on');
set(handles.check_scons,'enable','off');
elseif evalin('base','als_opt.multi.datamod')==2
set(handles.check_ccons,'enable','off');
set(handles.check_scons,'enable','on');
elseif evalin('base','als_opt.multi.datamod')==3
set(handles.check_ccons,'enable','on');
set(handles.check_scons,'enable','on');
end
evalin('base','als_opt.multi.ccons=0;');
evalin('base','als_opt.multi.scons=0;');
evalin('base','als_opt.multi.curr_cmat=1;');
evalin('base','als_opt.multi.curr_smat=1;');
% UIWAIT makes als2004multi wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = als2004multi_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
% *************************************************************************
% Multiple matrices
% *************************************************************************
% --- Executes during object creation, after setting all properties.
function popup_nmat_CreateFcn(hObject, eventdata, handles)
% hObject handle to popup_nmat (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: popupmenu controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc
set(hObject,'BackgroundColor','white');
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end
nexp=evalin('base','als_opt.nexp');
j=1;
for i=1:nexp,
lsb=[i];
lsv(j)={lsb};
j=j+1;
end;
set(hObject,'string',lsv)
% --- Executes on button press in check_ccons.
function check_ccons_Callback(hObject, eventdata, handles)
% hObject handle to check_ccons (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of check_ccons
ccons=get(hObject,'Value');
scons=get(handles.check_scons,'Value');
if evalin('base','als_opt.multi.datamod')==1
if ccons==0
set(handles.text_nmat,'enable','on');
set(handles.text_clau,'enable','on');
set(handles.text_csub,'enable','on');
set(handles.text_ssub,'enable','on');
set(handles.text_X,'enable','on');
set(handles.text_Y,'enable','on');
set(handles.popup_nmat,'enable','on','value',1);
else
set(handles.text_nmat,'enable','off');
set(handles.text_clau,'enable','off');
set(handles.text_csub,'enable','off');
set(handles.text_ssub,'enable','off');
set(handles.text_X,'enable','off');
set(handles.text_Y,'enable','off');
set(handles.popup_nmat,'enable','off','value',1);
end
elseif evalin('base','als_opt.multi.datamod')==3
if ccons==0 & scons==0
set(handles.text_nmat,'enable','on');
set(handles.text_clau,'enable','on');
set(handles.text_csub,'enable','on');
set(handles.text_ssub,'enable','on');
set(handles.text_X,'enable','on');
set(handles.text_Y,'enable','on');
set(handles.popup_nmat,'enable','on','value',1);
elseif (ccons==0 & scons==1) | (ccons==1 & scons==0)
set(handles.text_nmat,'enable','on');
set(handles.text_clau,'enable','on');
set(handles.text_csub,'enable','on');
set(handles.text_ssub,'enable','on');
set(handles.text_X,'enable','on');
set(handles.text_Y,'enable','on');
set(handles.popup_nmat,'enable','on','value',1);
elseif ccons==1 & scons==1
set(handles.text_nmat,'enable','off');
set(handles.text_clau,'enable','off');
set(handles.text_csub,'enable','off');
set(handles.text_ssub,'enable','off');
set(handles.text_X,'enable','off');
set(handles.text_Y,'enable','off');
set(handles.popup_nmat,'enable','off','value',1);
end
end
assignin('base','scons',scons);
evalin('base','als_opt.multi.scons=scons;');
evalin('base','clear scons');
assignin('base','ccons',ccons);
evalin('base','als_opt.multi.ccons=ccons;');
evalin('base','clear ccons');
% --- Executes on button press in check_scons.
function check_scons_Callback(hObject, eventdata, handles)
% hObject handle to check_scons (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of check_scons
scons=get(hObject,'Value');
ccons=get(handles.check_ccons,'Value');
if evalin('base','als_opt.multi.datamod')==2
if scons==0
set(handles.text_nmat,'enable','on');
set(handles.text_clau,'enable','on');
set(handles.text_csub,'enable','on');
set(handles.text_ssub,'enable','on');
set(handles.text_X,'enable','on');
set(handles.text_Y,'enable','on');
set(handles.popup_nmat,'enable','on','value',1);
else
set(handles.text_nmat,'enable','off');
set(handles.text_clau,'enable','off');
set(handles.text_csub,'enable','off');
set(handles.text_ssub,'enable','off');
set(handles.text_X,'enable','off');
set(handles.text_Y,'enable','off');
set(handles.popup_nmat,'enable','off','value',1);
end
elseif evalin('base','als_opt.multi.datamod')==3
if ccons==0 & scons==0
set(handles.text_nmat,'enable','on');
set(handles.text_clau,'enable','on');
set(handles.text_csub,'enable','on');
set(handles.text_ssub,'enable','on');
set(handles.text_X,'enable','on');
set(handles.text_Y,'enable','on');
set(handles.popup_nmat,'enable','on','value',1);
elseif (ccons==0 & scons==1) | (ccons==1 & scons==0)
set(handles.text_nmat,'enable','on');
set(handles.text_clau,'enable','on');
set(handles.text_csub,'enable','on');
set(handles.text_ssub,'enable','on');
set(handles.text_X,'enable','on');
set(handles.text_Y,'enable','on');
set(handles.popup_nmat,'enable','on','value',1);
elseif ccons==1 & scons==1
set(handles.text_nmat,'enable','off');
set(handles.text_clau,'enable','off');
set(handles.text_csub,'enable','off');
set(handles.text_ssub,'enable','off');
set(handles.text_X,'enable','off');
set(handles.text_Y,'enable','off');
set(handles.popup_nmat,'enable','off','value',1);
end
end
assignin('base','scons',scons);
evalin('base','als_opt.multi.scons=scons;');
evalin('base','clear scons');
assignin('base','ccons',ccons);
evalin('base','als_opt.multi.ccons=ccons;');
evalin('base','clear ccons');
% --- Executes on selection change in popup_nmat.
function popup_nmat_Callback(hObject, eventdata, handles)
% hObject handle to popup_nmat (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: contents = get(hObject,'String') returns popup_nmat contents as cell array
% contents{get(hObject,'Value')} returns selected item from popup_nmat
nmat = get(hObject,'value');
former_cmat=evalin('base','als_opt.multi.curr_cmat');
former_smat=evalin('base','als_opt.multi.curr_smat'); %estava curr_cmat
if nmat==1
set(handles.text_X,'string',1)
set(handles.text_Y,'string',1)
end
if evalin('base','als_opt.multi.datamod')==1
set(handles.text_X,'string',nmat)
set(handles.text_Y,'string',1)
curr_cmat=nmat;
assignin('base','curr_cmat',curr_cmat);
evalin('base','als_opt.multi.curr_cmat=curr_cmat;');
evalin('base','clear curr_cmat');
curr_smat=1;
assignin('base','curr_smat',curr_smat);
evalin('base','als_opt.multi.curr_smat=curr_smat;');
evalin('base','clear curr_smat');
elseif evalin('base','als_opt.multi.datamod')==2
set(handles.text_X,'string',1)
set(handles.text_Y,'string',nmat)
curr_cmat=1;
assignin('base','curr_cmat',curr_cmat);
evalin('base','als_opt.multi.curr_cmat=curr_cmat;');
evalin('base','clear curr_cmat');
curr_smat=nmat;
assignin('base','curr_smat',curr_smat);
evalin('base','als_opt.multi.curr_smat=curr_smat;');
evalin('base','clear curr_smat');
elseif evalin('base','als_opt.multi.datamod')==3
% ***********************
limc=[];
b=1;
j=evalin('base','als_opt.nexp')/evalin('base','als_opt.multi.matc');
for i=1:j:evalin('base','als_opt.nexp')
limc(b)=i;
b=b+1;
end
for i=1:evalin('base','als_opt.multi.matc');
if (limc(i)-nmat)<=0 & (limc(i)-nmat)>=(-evalin('base','als_opt.multi.matr')+1)
curr_cmat=i;
end
end
% *****************************
limc=[];
b=1;
j=evalin('base','als_opt.nexp')/evalin('base','als_opt.multi.matc');
limc=[1:j];
for k=1:evalin('base','als_opt.multi.matc');
for i=1:evalin('base','als_opt.multi.matr');
if (limc(i)-nmat)==0 | (limc(i)-nmat)==(-k*evalin('base','als_opt.multi.matr'))
curr_smat=i;
end
end
end
% *****************************
set(handles.text_X,'string',curr_cmat)
set(handles.text_Y,'string',curr_smat)
end
% start -> values that can be modified
if get(handles.popup_ncnn,'value') ~=1 & (former_cmat~=curr_cmat);
set(handles.popup_ncnn,'value',1);
set(handles.edit_spcnn,'string',' ');
end
if get(handles.popup_nsnn,'value') ~=1& (former_smat~=curr_smat);
set(handles.popup_nsnn,'value',1);
set(handles.edit_spsnn,'string',' ');
end
if get(handles.popup_ncuni,'value') ~=1 & (former_cmat~=curr_cmat);
set(handles.popup_ncuni,'value',1);
set(handles.edit_spunic,'string',' ');
end
if get(handles.popup_nsuni,'value') ~=1& (former_smat~=curr_smat);
set(handles.popup_nsuni,'value',1);
set(handles.edit_spunis,'string',' ');
end
if get(handles.radio_cclos,'value')==1
if get(handles.popup_nclos,'value') ~=1 & (former_cmat~=curr_cmat);
set(handles.popup_nclos,'value',1);
set(handles.edit_1clos,'string',' ');
set(handles.edit_2clos,'string',' ');
set(handles.edit_vclos1,'string',' ');
set(handles.edit_vclos2,'string',' ');
set(handles.popup_1closcond,'value',1);
set(handles.popup_2closcond,'value',1);
set(handles.edit_1spclos,'string',' ');
set(handles.edit_2spclos,'string',' ');
set(handles.check_vclos,'value',0);
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -