⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 als2004multi.m

📁 多元曲线解析-交替最小二乘法,MCR-ALS
💻 M
📖 第 1 页 / 共 5 页
字号:
if get(handles.radio_sclos,'value')==1
    if get(handles.popup_nclos,'value') ~=1 & (former_smat~=curr_smat);
        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

% end -> values that can be modified

assignin('base','curr_cmat',curr_cmat);
evalin('base','als_opt.multi.curr_cmat=curr_cmat;');
evalin('base','clear curr_cmat');

assignin('base','curr_smat',curr_smat);
evalin('base','als_opt.multi.curr_smat=curr_smat;');
evalin('base','clear curr_smat');



% *************************************************************************
% isp
% *************************************************************************

% --- Executes during object creation, after setting all properties.
function edit_isp_CreateFcn(hObject, eventdata, handles)
% hObject    handle to edit_isp (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_isp_Callback(hObject, eventdata, handles)
% hObject    handle to edit_isp (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_isp as text
%        str2double(get(hObject,'String')) returns contents of edit_isp as a double

isp_char=get(hObject,'String');

if isempty(isp_char)==1
    matc=evalin('base','als_opt.multi.matc');
    nsp=evalin('base','min(size(als_opt.iniesta))');
    isp=ones(matc,nsp);
else
    isp=evalin('base',isp_char);
end

assignin('base','isp',isp);

evalin('base','als_opt.multi.isp=isp;');
evalin('base','clear isp');



% *************************************************************************
% noneg
% *************************************************************************

% --- Executes on button press in check_noneg.
function check_noneg_Callback(hObject, eventdata, handles)
% hObject    handle to check_noneg (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_noneg

noneg=get(hObject,'Value');

if noneg==1;
    set(handles.radio_cnn,'enable','on');
    set(handles.radio_snn,'enable','on');
    set(handles.radio_csnn,'enable','on');
else
    set(handles.radio_cnn,'enable','off','value',0);
    set(handles.radio_snn,'enable','off','value',0);
    set(handles.radio_csnn,'enable','off','value',0);
    set(handles.text_impc,'enable','off');
    set(handles.popup_impc,'enable','off','value',1);
    set(handles.text_ncnn,'enable','off');
    set(handles.popup_ncnn,'enable','off','value',1);
    set(handles.text_spcnn,'enable','off');
    set(handles.edit_spcnn,'enable','off','string',' ');
    set(handles.text_imps,'enable','off');
    set(handles.popup_imps,'enable','off','value',1);
    set(handles.text_nsnn,'enable','off');
    set(handles.popup_nsnn,'enable','off','value',1);
    set(handles.text_spsnn,'enable','off');
    set(handles.edit_spsnn,'enable','off','string',' ');

    evalin('base','als_opt=rmfield(als_opt,''noneg'');');

end;
assignin('base','noneg',noneg);
evalin('base','als_opt.noneg.noneg=noneg;');
evalin('base','clear noneg');

% --- Executes on button press in radio_cnn.
function radio_cnn_Callback(hObject, eventdata, handles)
% hObject    handle to radio_cnn (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 radio_cnn

ineg=1;
set(handles.radio_cnn,'enable','on');
set(handles.radio_snn,'enable','off');
set(handles.radio_csnn,'enable','off');
set(handles.text_impc,'enable','on');
set(handles.popup_impc,'enable','on');
set(handles.text_ncnn,'enable','on');
set(handles.popup_ncnn,'enable','on');
set(handles.text_spcnn,'enable','off');
set(handles.edit_spcnn,'enable','off');

evalin('base','als_opt.noneg.cneg=[];');

assignin('base','ineg',ineg);
evalin('base','als_opt.noneg.ineg=ineg;');
evalin('base','clear ineg');

% --- Executes on button press in radio_snn.
function radio_snn_Callback(hObject, eventdata, handles)
% hObject    handle to radio_snn (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 radio_snn

ineg=3;
set(handles.radio_cnn,'enable','off');
set(handles.radio_snn,'enable','on');
set(handles.radio_csnn,'enable','off');
set(handles.text_imps,'enable','on');
set(handles.popup_imps,'enable','on');
set(handles.text_nsnn,'enable','on');
set(handles.popup_nsnn,'enable','on');
set(handles.text_spsnn,'enable','off');
set(handles.edit_spsnn,'enable','off');


evalin('base','als_opt.noneg.spneg=[];');

assignin('base','ineg',ineg);
evalin('base','als_opt.noneg.ineg=ineg;');
evalin('base','clear ineg');

% --- Executes on button press in radio_csnn.
function radio_csnn_Callback(hObject, eventdata, handles)
% hObject    handle to radio_csnn (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 radio_csnn

ineg=2;
set(handles.radio_cnn,'enable','off');
set(handles.radio_snn,'enable','off');
set(handles.radio_csnn,'enable','on');
set(handles.text_impc,'enable','on');
set(handles.popup_impc,'enable','on');
set(handles.text_ncnn,'enable','on');
set(handles.popup_ncnn,'enable','on');
set(handles.text_spcnn,'enable','off');
set(handles.edit_spcnn,'enable','off');
set(handles.text_imps,'enable','on');
set(handles.popup_imps,'enable','on');
set(handles.text_nsnn,'enable','on');
set(handles.popup_nsnn,'enable','on');
set(handles.text_spsnn,'enable','off');
set(handles.edit_spsnn,'enable','off');

evalin('base','als_opt.noneg.cneg=[];');
evalin('base','als_opt.noneg.spneg=[];');

assignin('base','ineg',ineg);
evalin('base','als_opt.noneg.ineg=ineg;');
evalin('base','clear ineg');

% --- Executes during object creation, after setting all properties.
function popup_impc_CreateFcn(hObject, eventdata, handles)
% hObject    handle to popup_impc (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

llista(1)={'select...'};
llista(2)={'forced to zero'};
llista(3)={'nnls'};
llista(4)={'fnnls'};
set(hObject,'string',llista)

% --- Executes on selection change in popup_impc.
function popup_impc_Callback(hObject, eventdata, handles)
% hObject    handle to popup_impc (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_impc contents as cell array
%        contents{get(hObject,'Value')} returns selected item from popup_impc

ialg=get(hObject,'Value')-2;
assignin('base','ialg',ialg);
evalin('base','als_opt.noneg.ialg=ialg;');

if ialg==0
    dim=evalin('base','min(size(als_opt.iniesta))');
    j=2;
    llistannc(1)={'select...'};
    for i=0:1:dim;
        llistnnc=[i];
        llistannc(j)={llistnnc};
        j=j+1;
    end;
    set(handles.popup_ncnn,'value',1)
    set(handles.popup_ncnn,'string',llistannc)
    set(handles.edit_spcnn,'enable','off','string','');
    set(handles.text_spcnn,'enable','off');
else
    dim=evalin('base','min(size(als_opt.iniesta))');
    llistannc(1)={'select...'};
    llistannc(2)={0};
    llistnnc=[dim];
    llistannc(3)={llistnnc};
    set(handles.popup_ncnn,'value',1)
    set(handles.popup_ncnn,'string',llistannc)
    set(handles.edit_spcnn,'enable','off','string','');
    set(handles.text_spcnn,'enable','off');
end

evalin('base','clear ialg');

% --- Executes during object creation, after setting all properties.
function popup_imps_CreateFcn(hObject, eventdata, handles)
% hObject    handle to popup_imps (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

llista(1)={'select...'};
llista(2)={'forced to zero'};
llista(3)={'nnls'};
llista(4)={'fnnls'};
set(hObject,'string',llista)

% --- Executes on selection change in popup_imps.
function popup_imps_Callback(hObject, eventdata, handles)
% hObject    handle to popup_imps (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_imps contents as cell array
%        contents{get(hObject,'Value')} returns selected item from popup_imps

ialgs=get(hObject,'Value')-2;
assignin('base','ialgs',ialgs);
evalin('base','als_opt.noneg.ialgs=ialgs;');

if ialgs==0;
    dim=evalin('base','min(size(als_opt.iniesta))');
    j=2;
    llistanns(1)={'select...'};
    for i=0:1:dim,
        llistnns=[i];
        llistanns(j)={llistnns};
        j=j+1;
    end;
    set(handles.popup_nsnn,'value',1)
    set(handles.popup_nsnn,'string',llistanns)
    set(handles.edit_spsnn,'enable','off','string','');
    set(handles.text_spsnn,'enable','off');
else
    dim=evalin('base','min(size(als_opt.iniesta))');
    llistanns(1)={'select...'};
    llistanns(2)={0};
    llistnns=[dim];
    llistanns(3)={llistnns};
    set(handles.popup_nsnn,'value',1)
    set(handles.popup_nsnn,'string',llistanns)
    set(handles.edit_spsnn,'enable','off','string','');
    set(handles.text_spsnn,'enable','off');
end

evalin('base','clear ialgs');

% --- Executes during object creation, after setting all properties.
function popup_ncnn_CreateFcn(hObject, eventdata, handles)
% hObject    handle to popup_ncnn (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


dim=evalin('base','min(size(als_opt.iniesta))');
j=2;
llistannc(1)={'select...'};
for i=0:1:dim;
    llistnnc=[i];
    llistannc(j)={llistnnc};
    j=j+1;
end;

set(hObject,'string',llistannc)

% --- Executes on selection change in popup_ncnn.
function popup_ncnn_Callback(hObject, eventdata, handles)
% hObject    handle to popup_ncnn (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_ncnn contents as cell array
%        contents{get(hObject,'Value')} returns selected item from popup_ncnn

ncneg=get(hObject,'Value')-2;

assignin('base','ncneg',ncneg);
evalin('base','als_opt.noneg.ncneg=ncneg;');
dim=evalin('base','min(size(als_opt.iniesta))');
matc=evalin('base','als_opt.multi.matc');
ialg=evalin('base','als_opt.noneg.ialg');
curr_cmat=evalin('base','als_opt.multi.curr_cmat');
curr_smat=evalin('base','als_opt.multi.curr_smat');
cneg=evalin('base','als_opt.noneg.cneg');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -