📄 gui_cb.asv
字号:
function gui_cb(action)%2006.3.14%author:xiaobing zhang% This file is used by Blind Multiuser detection% Handle to the main figureglobal hf_mud_MAIN;%算法选择全局变量global g_mud_name;global ht_mud_Status;global g_mud_mixedsig;switch action case 'DoMud' switch g_mud_name case '' msgbox('请先选择算法','提示'); case '最小输出能量盲多用户检测' if ~isempty(g_mud_mixedsig) gui_cb DisableButtons; g_FastICA_interrupt = 0; if isempty(g_FastICA_white_sig) % We need the whitened signal here %gui_cb Whiten; g_FastICA_mixedsig=baihua(g_FastICA_mixedsig); end set(ht_FastICA_icaStatus,'String','Computing...'); % The possible values for g depend on approach eval(['g_str = c_FastICA_g' int2str(g_FastICA_approach) '_strV;']); % We'll contruct a command string which we'll later on evaluate... % This is where the Fixed point algorithm is used. command_str = ['g_FastICA_ica_W = jadeR(g_FastICA_mixedsig);']; % If the user wants to plot while computing... % let's at least plot it to the right figure then if ~strcmp(deblank(c_FastICA_dMod_strV(g_FastICA_displayMo,:)),'off') handle = findobj('Tag','f_FastICA_ica'); % Check if the window is already if isempty(handle) % open. If not then open it. figure('Tag', 'f_FastICA_ica', ... 'Name', 'jada_ICA算法: Plot ICs', ... 'NumberTitle', 'off'); else figure(handle); clf; % clear the figure for next plots end end % ... and so let's do it... eval(command_str); % Also notice that in this version if there was something wrong in FPICA % Then the results are []. if ~isempty(g_FastICA_ica_W) % Add the mean back in. g_FastICA_ica_sig = g_FastICA_ica_W * g_FastICA_mixedsig; disp('jada_ICA.......'); mplot(g_FastICA_ica_sig); set (ht_FastICA_icaStatus,'String','Done'); else gui_cb NullICA; % set icasig=[] and do what ever needs to be done then end if ~(g_FastICA_interrupt) gui_cb EnableButtons; end else % fprintf('Data not loaded yet!\n\n'); msgbox('请先加载混合信号','提示'); end%**************************************************************** endcase 'LoadData' handle = findobj('Tag','f_FastICALoad'); % Check if the window is already if isempty(handle) % open. If not then open it. pos = get(hf_FastICA_MAIN, 'Position'); % Based on the feedback obtained from some users, it seems % that at least in some systems, pos can sometimes be empty. A % similar check is done a few lines below. if ~isempty (pos), gui_ld(pos(1), pos(2)); else gui_ld (0, 0); end else if strcmp(g_FastICA_loadType, 'data') % Check if it was the same load figure(handle); % window. If it wasn't then else % close the other window first close(handle); % and then open the load window fprintf('''Load initial guess'' -dialog closed!\n'); pos = get(hf_FastICA_MAIN, 'Position'); if ~isempty (pos), gui_l(pos(1), pos(2)); else gui_l (0, 0); end end end % gui_cb NewData; - is called from the load function if not canceled... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% case 'Quit' close(hf_mud_MAIN); gui_cg; return;end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -