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

📄 nefgui_o.m

📁 模糊神经网络采用matlab编程 o install NEFCON follow these steps: 1. Unpack the tar file NEFCON.TAR into your MA
💻 M
📖 第 1 页 / 共 2 页
字号:
function nefgui_o(action, p1);   
   
%NEFGUI_O GUI-Tool to manage Nefcon learning algorithm settings. 
% 
% See also NEFGUI, NEFGUI_E, NEFGUI_I and NEFCON.  
   
% Author: Andreas Nuernberger, TU Braunschweig, August 1996; a.nuernberger@tu-bs.de
%         contact: Ludger Merz, DASA-Airbus GmbH, Hamburg; ludger.merz@airbus.de
   
% Globals: Description in nefmat  
global NEFCON_PROT NEFCON_STAT NEFCON_UIH NEFCON_RULE NEFCON_OPT NEFCON_IFM NEFCON_EFM NEFCON_EFMN   
global NEFCON_RATE NEFCON_FERR NEFCON_FIS   
global NEFCON_RBT NEFCON_RBND NEFCON_RBT1 NEFCON_RBND1 NEFCON_OBT NEFCON_OBND   
global NEFCON_CYC NEFCON_NOISE NEFCON_ADDR 
global NEFCON_GENN NEFCON_MFIN NEFCON_MFOUT NEFCON_MFIT NEFCON_MFOT 
global NEFCON_RRATE NEFCON_RPER  
 
handle = findobj('Tag', 'NEFCONGUI_O');   
   
if nargin < 1    
    if handle == []   
        action = 'initialize';   
    else   
        action = '';   
    end;   
end;   
   
%create controls   
if strcmp(action, 'initialize') & handle == [],   
    % Information for all objects   
    bckfrmColor=230/255*[1 1 1];   
    frmColor=192/255*[1 1 1];   
    bckColor=230/255*[1 1 1];   
    btnColor=192/255*[1 1 1];   
    popupColor=192/255*[1 1 1];   
    editColor=255/255*[1 1 1];   
    border=6;   
    spacing=8;   
   
    %Calculate Windowsize   
    figPos=get(0,'DefaultFigurePosition');   
    figPos(3) = 1. * figPos(3);   
    figPos(4) = 0.9 * figPos(3);   
    maxRight=figPos(3);   
    maxTop=figPos(4);   
   
    % uicontrol sizes   
%    btnWid  = 110;   
%    btnHt   = 23;   
    btnWid = maxRight/6;   
    btnHt  = maxRight/25;   
   
    % calculate normalized units for resizeable window   
    Nborder = border/maxRight;   
    Nspacing= spacing/maxRight;   
    NbtnWid = btnWid/maxRight;   
    NbtnHt  = btnHt/maxTop;   
   
    % userdata   
    localdata = [];   
   
    % open new window   
    h = figure( ...   
        'Name','Learning Algorithm', ...   
        'NumberTitle','off', ...   
    	'Color',bckColor, ...   
	    'Visible','on', ...   
	    'UserData',localdata, ...   
    	'Units','pixels', ...   
	    'DefaultAxesXColor','black', ...   
    	'DefaultAxesYColor','black', ...   
    	'MenuBar','none', ...   
	    'Resize','on', ...   
	    'Position',figPos, ...   
    	'Nextplot','new', ...   
    	'Tag','NEFCONGUI_O' ...   
	    );   
    figPos=get(h,'position');   
   
    % create close button   
    closeb = uicontrol(h, ...   
        'Style', 'push', ...   
        'String', 'Close', ...   
    	'Units','normalized', ...   
        'Position', [1-Nspacing-NbtnWid 3*Nspacing+NbtnHt NbtnWid NbtnHt], ...   
        'CallBack', 'nefgui_o(''close'')');   
   
    % create help button  
    helpb = uicontrol(h, ...  
        'Style', 'push', ...  
        'String', 'Help', ...  
    	'Units','normalized', ...  
        'Position', [1-Nspacing-NbtnWid 2*(3*Nspacing+NbtnHt) NbtnWid NbtnHt], ...  
        'CallBack', 'hthelp(''nefcon.htm#learnalgo'')');  
  
    % create show fis button   
    showb = uicontrol(h, ...   
        'Style', 'push', ...   
        'enable', 'off', ...  
        'tag', 'showb', ...  
        'String', 'Show MF', ...   
    	'Units','normalized', ...   
        'Position', [1-Nspacing-NbtnWid 1-(3*Nspacing+NbtnHt) NbtnWid NbtnHt], ...   
        'CallBack', 'global NEFCON_FIS; h=figure; act=gcf; figure(h); dispmfs(NEFCON_FIS);figure(act);');   
   
    % create show rules button   
    editR = uicontrol(h, ...   
        'Style', 'push', ...   
        'enable', 'off', ...  
        'tag', 'editR', ...  
        'String', 'Edit Rules', ...   
    	'Units','normalized', ...   
        'Position', [1-Nspacing-NbtnWid 1-2*(3*Nspacing+NbtnHt) NbtnWid NbtnHt], ...   
        'CallBack', 'global NEFCON_FIS; ruleedit(NEFCON_FIS);');   
 
    % create show surface button   
    editR = uicontrol(h, ...   
        'Style', 'push', ...   
        'enable', 'off', ...  
        'tag', 'showS', ...  
        'String', 'Surface', ...   
    	'Units','normalized', ...   
        'Position', [1-Nspacing-NbtnWid 1-3*(3*Nspacing+NbtnHt) NbtnWid NbtnHt], ...   
        'CallBack', 'global NEFCON_FIS; surfview(NEFCON_FIS);');   
   
    % create edit fis button   
    editb = uicontrol(h, ...   
        'Style', 'push', ...   
        'enable', 'off', ...  
        'tag', 'editb', ...  
        'String', 'Edit Fis', ...   
    	'Units','normalized', ...   
        'Position', [1-Nspacing-NbtnWid 1-4*(3*Nspacing+NbtnHt) NbtnWid NbtnHt], ...   
        'CallBack', 'global NEFCON_FIS; fuzzy(NEFCON_FIS);');   
   
    % The STATUS frame   
    topFrmHndl=uicontrol(h, ...   
        'Style','frame', ...   
       	'Units','normalized', ...   
        'Position',[0 0 1 NbtnHt+2*Nspacing], ...   
        'BackgroundColor',frmColor);   
   
    % The STATUS text window   
    statTxtH=uicontrol(h, ...   
        'Style','text', ...   
    	'BackgroundColor',frmColor, ...   
	    'HorizontalAlignment','left', ...   
        'Position',[Nspacing Nspacing 1-2*Nspacing NbtnHt], ...   
    	'Units','normalized', ...   
	    'Tag','status', ...   
        'String','');   
   
    % The Options frame   
    left    = Nspacing;   
    bottom  = 3*Nspacing+1*NbtnHt;   
    width   = 0.8-Nspacing;   
    height  = 1-bottom-Nspacing;   
    right   = left+width;   
    top     = bottom+height;   
%    topFrmHndl=uicontrol(h, ...   
%        'Style','frame', ...   
%       	'Units','normalized', ...   
%        'Position',[left bottom width height], ...   
%        'BackgroundColor',bckfrmColor);   
   
    % The Options frame label   
%    labelStr='Nefcon Options';   
%    statHndl=uicontrol(h, ...   
%        'Style','text', ...   
%    	'BackgroundColor',bckfrmColor, ...   
%	    'HorizontalAlignment','center', ...   
%        'Position', [left+Nspacing top-Nspacing-NbtnHt width-2*Nspacing NbtnHt], ...   
%    	'Units', 'normalized', ...   
%        'String', labelStr);   
   
    % The Options rule learning   
    NofLines = 9;   
    left    = left + Nspacing;   
    height  = NofLines*(Nspacing+NbtnHt) + Nspacing;   
%    bottom  = top - 2*Nspacing-NbtnHt - height;   
    bottom  = 1 - 2*Nspacing - height;   
    width   = width - 2*Nspacing;   
    right   = left+width;   
    top     = bottom+height;   
    topFrmHndl=uicontrol(h, ...   
        'Style','frame', ...   
       	'Units','normalized', ...   
        'Position',[left bottom width height], ...   
        'BackgroundColor',frmColor);   
   
    statHndl=uicontrol(h, ...   
        'Style','text', ...   
    	'BackgroundColor',frmColor, ...   
	    'HorizontalAlignment','center', ...   
        'Position', [left+Nspacing top-Nspacing-NbtnHt width-2*Nspacing NbtnHt], ...   
    	'Units', 'normalized', ...   
        'String', 'Rule Learning');   
   
    rulelistH=uicontrol(h, ...   
        'Style','popup', ...   
    	'BackgroundColor',editColor, ...   
        'String', 'Bottom-Up learning|Nefcon|disabled - initial fismatrix|disabled - use actual fismatrix',...   
        'Position', [left+Nspacing top-2*(Nspacing+NbtnHt) width-3*Nspacing-NbtnHt NbtnHt], ...   
    	'Units', 'normalized', ...   
        'CallBack', 'nefgui_o (''rulelist'')', ...   
        'Tag', 'rulelist');   
%        'String', 'Bottom-Up learning|Nefcon|Partitionlearning|disabled - initial fismatrix|disabled - use actual fismatrix',...   
    helpb = uicontrol(h, ...  
        'Style', 'push', ...  
        'String', '?', ...  
    	'Units','normalized', ...  
        'Position', [left+width-Nspacing-NbtnHt top-2*(Nspacing+NbtnHt) NbtnHt NbtnHt], ...  
        'CallBack', 'hthelp(''nefcon.htm#ruleopt'')');  
   
    statHndl=uicontrol(h, ...   
        'Style','text', ...   
    	'BackgroundColor',frmColor, ...   
	    'HorizontalAlignment','left', ...   
        'Position', [left+Nspacing top-3*(Nspacing+NbtnHt) width/3-2*Nspacing NbtnHt], ...   
    	'Units', 'normalized', ...   
        'String', 'fismatrix:');   
    inifismatH=uicontrol(h, ...   
        'Style','edit', ...   
    	'BackgroundColor',editColor, ...   
        'Position', [left+width/3+Nspacing top-3*(Nspacing+NbtnHt) width*2/3-2*Nspacing NbtnHt], ...   
    	'Units', 'normalized', ...   
        'CallBack', 'nefgui_o (''inifismat'')', ...   
    	'Tag','inifismat');   
% Partitioning 
    topFrmHndl=uicontrol(h, ...   
        'Style','frame', ...   
       	'Units','normalized', ...   
        'Position',[left+Nspacing/2 top-5*(Nspacing+NbtnHt)-Nspacing/2 width-Nspacing 2*(Nspacing+NbtnHt)], ...   
        'BackgroundColor',frmColor);   
    sH=uicontrol(h, ...   
        'Style','text', ...   
    	'BackgroundColor',frmColor, ...   
	    'HorizontalAlignment','left', ...   
        'Position', [left+Nspacing top-4*(Nspacing+NbtnHt) width*0.3-1*Nspacing NbtnHt], ...   
    	'Units', 'normalized', ...  
        'String', 'Partitioning:');   
    sH=uicontrol(h, ...   
        'Style','text', ...   
    	'BackgroundColor',frmColor, ...   
	    'HorizontalAlignment','left', ...   
        'Position', [left+Nspacing+width*0.3 top-4*(Nspacing+NbtnHt) width*0.2-1*Nspacing NbtnHt], ...   
    	'Units', 'normalized', ...  
        'String', 'Input:');   
    partinH=uicontrol(h, ...   
        'Style','edit', ...   
    	'BackgroundColor',editColor, ...   
        'Position', [left+Nspacing+width*0.5 top-4*(Nspacing+NbtnHt) width*0.1-1*Nspacing NbtnHt], ...   
    	'Units', 'normalized', ...   
        'CallBack', 'nefgui_o (''partin'')', ...   
    	'Tag','partin');   
    mfitH=uicontrol(h, ...   
        'Style','popup', ...   
    	'BackgroundColor',editColor, ...   
        'Position', [left+Nspacing+width*0.6 top-4*(Nspacing+NbtnHt) width*0.3-1*Nspacing NbtnHt], ...   
    	'Units', 'normalized', ...   
        'String', 'trimf/trapmf|gaussmf',...   
        'CallBack', 'nefgui_o (''mfit'')', ...   
        'Tag', 'mfit');   
    sH=uicontrol(h, ...   
        'Style','text', ...   
    	'BackgroundColor',frmColor, ...   
	    'HorizontalAlignment','left', ...   
        'Position', [left+Nspacing+width*0.9 top-4*(Nspacing+NbtnHt) width*0.1-2*Nspacing NbtnHt], ...   
    	'Units', 'normalized', ...  
        'String', 'MFs');   
    sH=uicontrol(h, ...   
        'Style','text', ...   
    	'BackgroundColor',frmColor, ...   
	    'HorizontalAlignment','left', ...   
        'Position', [left+Nspacing+width*0.3 top-5*(Nspacing+NbtnHt) width*0.2-1*Nspacing NbtnHt], ...   
    	'Units', 'normalized', ...  
        'String', 'Output:');   
    partoutH=uicontrol(h, ...   
        'Style','edit', ...   
    	'BackgroundColor',editColor, ...   
        'Position', [left+Nspacing+width*0.5 top-5*(Nspacing+NbtnHt) width*0.1-1*Nspacing NbtnHt], ...   
    	'Units', 'normalized', ...   
        'CallBack', 'nefgui_o (''partout'')', ...   
    	'Tag','partout');   
    mfotH=uicontrol(h, ...   
        'Style','popup', ...   
    	'BackgroundColor',editColor, ...   
        'Position', [left+Nspacing+width*0.6 top-5*(Nspacing+NbtnHt) width*0.3-1*Nspacing NbtnHt], ...   
    	'Units', 'normalized', ...   
        'String', 'trimf|gaussmf',...   
        'CallBack', 'nefgui_o (''mfot'')', ...   
        'Tag', 'mfot');   
    sH=uicontrol(h, ...   
        'Style','text', ...   
    	'BackgroundColor',frmColor, ...   
	    'HorizontalAlignment','left', ...   
        'Position', [left+Nspacing+width*0.9 top-5*(Nspacing+NbtnHt) width*0.1-2*Nspacing NbtnHt], ...   
    	'Units', 'normalized', ...  
        'String', 'MFs');   
 
    noiseH=uicontrol(h, ...   
        'Style','checkbox', ...   
    	'BackgroundColor',frmColor, ...   
        'Position', [left+Nspacing top-6*(Nspacing+NbtnHt) width*0.4 NbtnHt], ...   
    	'Units', 'normalized', ... 
        'String', 'generate noise', ...   
        'CallBack', 'nefgui_o (''noise'')', ...   
    	'Tag','noise');   
 
    sH=uicontrol(h, ...   
        'Style','text', ...   
    	'BackgroundColor',frmColor, ...   
	    'HorizontalAlignment','left', ...   
        'Position', [left+Nspacing+width*0.45 top-6*(Nspacing+NbtnHt) width*0.25 NbtnHt], ...   
    	'Units', 'normalized', ...  
        'String', 'learn. rate:', ...   
    	'Tag','rlrt');   
    rlrH=uicontrol(h, ...   
        'Style','edit', ...   
    	'BackgroundColor',editColor, ...   
        'Position', [left+Nspacing+width*0.75 top-6*(Nspacing+NbtnHt) width*0.2 NbtnHt], ...   
    	'Units', 'normalized', ...   
        'CallBack', 'nefgui_o (''rlr'')', ...   
    	'Tag','rlr');   
   
    sH=uicontrol(h, ...   
        'Style','text', ...   
    	'BackgroundColor',frmColor, ...   
	    'HorizontalAlignment','left', ...   
        'Position', [left+Nspacing top-7*(Nspacing+NbtnHt) width*0.55 NbtnHt], ...   
    	'Units', 'normalized', ...  
        'String', 'Delete rules used less than', ...   
    	'Tag','rlrt');   
    rrmH=uicontrol(h, ...   
        'Style','edit', ...   
    	'BackgroundColor',editColor, ...   
        'Position', [left+Nspacing+width*0.56 top-7*(Nspacing+NbtnHt) width*0.1 NbtnHt], ...   
    	'Units', 'normalized', ...   
        'CallBack', 'nefgui_o (''rrm'')', ...   
    	'Tag','rrm');   
    sH=uicontrol(h, ...   
        'Style','text', ...   
    	'BackgroundColor',frmColor, ...   
	    'HorizontalAlignment','left', ...   
        'Position', [left+Nspacing+width*0.7 top-7*(Nspacing+NbtnHt) width*0.2 NbtnHt], ...   
    	'Units', 'normalized', ...  
        'String', 'percent', ...   
    	'Tag','rlrt');   
 
    topFrmHndl=uicontrol(h, ...   
        'Style','frame', ...   
       	'Units','normalized', ...   
        'Position',[left+Nspacing/2 bottom+Nspacing/2 width-Nspacing 2*(Nspacing+NbtnHt)], ...   
        'BackgroundColor',frmColor);   
    sH=uicontrol(h, ...   
        'Style','text', ...   
    	'BackgroundColor',frmColor, ...   
	    'HorizontalAlignment','left', ...   
        'Position', [left+Nspacing top-8*(Nspacing+NbtnHt) width/5-1*Nspacing NbtnHt], ...   
    	'Units', 'normalized', ...  
        'String', 'Phase 1: ');   
    rbndH=uicontrol(h, ...   
        'Style','edit', ...   
    	'BackgroundColor',editColor, ...   
        'Position', [left+Nspacing+width/5 top-8*(Nspacing+NbtnHt) width/5-1*Nspacing NbtnHt], ...   
    	'Units', 'normalized', ...   
        'CallBack', 'nefgui_o (''rbnd'')', ...   
    	'Tag','rbnd');   
    rbtH=uicontrol(h, ...   
        'Style','popup', ...   
    	'BackgroundColor',editColor, ...   
        'Position', [left+width*0.4+Nspacing top-8*(Nspacing+NbtnHt) width*0.6-2*Nspacing NbtnHt], ...   
    	'Units', 'normalized', ...   
        'String', 'time steps [s]|iteration steps|cycles',...   
        'CallBack', 'nefgui_o (''rbt'')', ...   
        'Tag', 'rbt');   
     s1H=uicontrol(h, ...   
        'Style','text', ...   
    	'BackgroundColor',frmColor, ...   
	    'HorizontalAlignment','left', ...   
        'Position', [left+Nspacing top-9*(Nspacing+NbtnHt) width/5-1*Nspacing NbtnHt], ...   
    	'Units', 'normalized', ...  
        'String', 'Phase 2: ');   
    rbnd1H=uicontrol(h, ...   
        'Style','edit', ...   
    	'BackgroundColor',editColor, ...   
        'Position', [left+Nspacing+width/5 top-9*(Nspacing+NbtnHt) width/5-1*Nspacing NbtnHt], ...   
    	'Units', 'normalized', ...   
        'CallBack', 'nefgui_o (''rbnd1'')', ...   
    	'Tag','rbnd1');   
    rbt1H=uicontrol(h, ...   
        'Style','popup', ...   
    	'BackgroundColor',editColor, ...   
        'Position', [left+width*0.4+Nspacing top-9*(Nspacing+NbtnHt) width*0.6-2*Nspacing NbtnHt], ...   
    	'Units', 'normalized', ...   
        'String', 'time steps [s]|iteration steps|cycles',...   
        'CallBack', 'nefgui_o (''rbt1'')', ...   
        'Tag', 'rbt1');   
 
    % The Options optimization   

⌨️ 快捷键说明

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