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

📄 als2004m.m

📁 多元曲线解析-交替最小二乘法,MCR-ALS
💻 M
📖 第 1 页 / 共 5 页
字号:
function varargout = als2004m(varargin)
% ALS2004M M-file for als2004m.fig
%      
% ALS2004M
%

% Last Modified by GUIDE v2.5 26-Jul-2004 15:36:49

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
    'gui_Singleton',  gui_Singleton, ...
    'gui_OpeningFcn', @als2004m_OpeningFcn, ...
    'gui_OutputFcn',  @als2004m_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 als2004m is made visible.
function als2004m_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 als2004m (see VARARGIN)

% Choose default command line output for als2004m
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes als2004m wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% --- Outputs from this function are returned to the command line.
function varargout = als2004m_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;


% *************************************************************************
% 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');

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');

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');

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...'};
    llistnnc=[dim];
    llistannc(2)={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...'};
    llistnns=[dim];
    llistanns(2)={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))');
nexp=evalin('base','als_opt.nexp');
ialg=evalin('base','als_opt.noneg.ialg');

if ialg == 0
    if ncneg == dim;
        cneg = ones(nexp,dim);
        set(handles.text_spcnn,'enable','off');
        set(handles.edit_spcnn,'enable','off','string',''); 
    elseif  ncneg == -1
        cneg=zeros(nexp,dim);
        set(handles.text_spcnn,'enable','off');
        set(handles.edit_spcnn,'enable','off','string','');
    elseif  ncneg == 0
        cneg = zeros(nexp,dim);
        set(handles.text_spcnn,'enable','off');
        set(handles.edit_spcnn,'enable','off','string','');   
    else
        cneg=[];
        set(handles.text_spcnn,'enable','on');
        set(handles.edit_spcnn,'enable','on'); 
    end
else
    cneg = ones(nexp,dim);
end

assignin('base','cneg',cneg);

⌨️ 快捷键说明

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