📄 clas3way.m
字号:
% See ISPC and COMPUTER.
if ispc
set(hObject,'BackgroundColor','white');
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end
llistannc={'select...'};
set(hObject,'string',llistannc)
% --- Executes on selection change in popup_selnc.
function popup_selnc_Callback(hObject, eventdata, handles)
% hObject handle to popup_selnc (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_selnc contents as cell array
% contents{get(hObject,'Value')} returns selected item from popup_selnc
numc=get(handles.popup_selnc,'Value')-1;
assignin('base','numc',numc);
evalin('base','als_opt.multi.numc=numc;');
if numc>0
set(handles.text_nr,'enable','on');
set(handles.edit_nr,'enable','on','string',evalin('base','als_opt.multi.nrsol(numc)'));
else
set(handles.text_nr,'enable','off');
set(handles.edit_nr,'enable','off','string',' ');
end
evalin('base','clear numc ');
set(handles.push_ok,'enable','on');
% --- Executes during object creation, after setting all properties.
function edit_nr_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit_nr (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit 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
function edit_nr_Callback(hObject, eventdata, handles)
% hObject handle to edit_nr (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit_nr as text
% str2double(get(hObject,'String')) returns contents of edit_nr as a double
nr=str2num(get(hObject,'String'));
assignin('base','nr',nr);
evalin('base','als_opt.multi.nr=nr;');
evalin('base','clear nr');
nrsol=evalin('base','als_opt.multi.nrsol');
nrsol(evalin('base','als_opt.multi.numc'))=nr;
assignin('base','nrsol',nrsol);
evalin('base','als_opt.multi.nrsol=nrsol;');
evalin('base','clear nrsol ');
% --- Executes during object creation, after setting all properties.
function popup_selns_CreateFcn(hObject, eventdata, handles)
% hObject handle to popup_selns (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
llistannc={'select...'};
set(hObject,'string',llistannc)
% --- Executes on selection change in popup_selns.
function popup_selns_Callback(hObject, eventdata, handles)
% hObject handle to popup_selns (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_selns contents as cell array
% contents{get(hObject,'Value')} returns selected item from popup_selns
nums=get(handles.popup_selns,'Value')-1;
assignin('base','nums',nums);
evalin('base','als_opt.multi.nums=nums;');
if nums>0
set(handles.text_nc,'enable','on');
set(handles.edit_nc,'enable','on','string',evalin('base','als_opt.multi.ncsol(nums)'));
else
set(handles.text_nc,'enable','off');
set(handles.edit_nc,'enable','off','string',' ');
end
evalin('base','clear nums ');
set(handles.push_ok,'enable','on');
% --- Executes during object creation, after setting all properties.
function edit_nc_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit_nc (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit 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
function edit_nc_Callback(hObject, eventdata, handles)
% hObject handle to edit_nc (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit_nc as text
% str2double(get(hObject,'String')) returns contents of edit_nc as a double
nc=str2num(get(hObject,'String'));
assignin('base','nc',nc);
evalin('base','als_opt.multi.nc=nc;');
evalin('base','clear nc');
ncsol=evalin('base','als_opt.multi.ncsol');
ncsol(evalin('base','als_opt.multi.nums'))=nc;
assignin('base','ncsol',ncsol);
evalin('base','als_opt.multi.ncsol=ncsol;');
evalin('base','clear ncsol ');
% --- Executes on button press in push_can.
function push_can_Callback(hObject, eventdata, handles)
% hObject handle to push_can (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
close;
% --- Executes on button press in push_ok.
function push_ok_Callback(hObject, eventdata, handles)
% hObject handle to push_ok (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
if evalin('base','als_opt.multi.datamod') ==1
nrsol=evalin('base','als_opt.multi.nrsol');
[nr,nc]=size(evalin('base','als_opt.matdad'));
nrfin=cumsum(evalin('base','als_opt.multi.nrsol'));
[b,a]=size(nrfin);
nrinic=[1 1+nrfin(1:(a-1))];
for i=1:a;
ncinic(1,i)=1;
ncfin(1,i)=nc;
end
ncsol=nc;
assignin('base','ncsol',ncsol);
evalin('base','als_opt.multi.ncsol=ncsol;');
evalin('base','clear ncsol ');
elseif evalin('base','als_opt.multi.datamod')==2
ncsol=evalin('base','als_opt.multi.ncsol');
[nr,nc]=size(evalin('base','als_opt.matdad'));
ncfin=cumsum(evalin('base','als_opt.multi.ncsol'));
[b,a]=size(ncfin);
ncinic=[1 1+ncfin(1:(a-1))];
for i=1:a;
nrinic(1,i)=1;
nrfin(1,i)=nr;
end
nrsol=nr;
assignin('base','nrsol',nrsol);
evalin('base','als_opt.multi.nrsol=nrsol;');
evalin('base','clear nrsol ');
elseif evalin('base','als_opt.multi.datamod')==3
nrsol=evalin('base','als_opt.multi.nrsol');
ncsol=evalin('base','als_opt.multi.ncsol');
[nr,nc]=size(evalin('base','als_opt.matdad'));
nrfin=cumsum(evalin('base','als_opt.multi.nrsol'));
[b,a]=size(nrfin);
nrinic=[1 1+nrfin(1:(a-1))];
ncfin=cumsum(evalin('base','als_opt.multi.ncsol'));
[b,a]=size(ncfin);
ncinic=[1 1+ncfin(1:(a-1))];
end
assignin('base','ncfin',ncfin);
evalin('base','als_opt.multi.ncfin=ncfin;');
evalin('base','clear ncfin ');
assignin('base','ncinic',ncinic);
evalin('base','als_opt.multi.ncinic=ncinic;');
evalin('base','clear ncinic ');
assignin('base','nrfin',nrfin);
evalin('base','als_opt.multi.nrfin=nrfin;');
evalin('base','clear nrfin ');
assignin('base','nrinic',nrinic);
evalin('base','als_opt.multi.nrinic=nrinic;');
evalin('base','clear nrinic ');
% isp
nesp=evalin('base','min(size(als_opt.iniesta))');
matc=evalin('base','als_opt.multi.matc');
matr=evalin('base','als_opt.multi.matr');
isp=ones(matc,nesp);
assignin('base','isp',isp);
evalin('base','als_opt.multi.isp=isp;');
evalin('base','clear isp ');
% check dimensions
if evalin('base','als_opt.multi.datamod')==1
dimr=sum(evalin('base','als_opt.multi.nrsol'));
[row,col]=size(evalin('base','als_opt.matdad'));
if dimr ~= row
errordlg('check dimensionsof the c submatrices');
else
close;
als2004multi;
end
elseif evalin('base','als_opt.multi.datamod')==2
dimc=sum(evalin('base','als_opt.multi.ncsol'));
[row,col]=size(evalin('base','als_opt.matdad'));
if dimc ~= col
errordlg('check dimensions of the s submatrices');
else
close;
als2004multi;
end
elseif evalin('base','als_opt.multi.datamod')==3
dimr=sum(evalin('base','als_opt.multi.nrsol'));
dimc=sum(evalin('base','als_opt.multi.ncsol'));
[row,col]=size(evalin('base','als_opt.matdad'));
if dimr ~= row
errordlg('check dimensionsof the c submatrices');
elseif dimc ~= col
errordlg('check dimensions of the s submatrices');
else
close;
als2004multi;
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -