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

📄 nefdef.m

📁 模糊神经网络采用matlab编程 o install NEFCON follow these steps: 1. Unpack the tar file NEFCON.TAR into your MA
💻 M
字号:
function nefdef();   
   
%NEFDEF Set Nefcon defaults (checks if already set)  
%
%       NEFDEF;
%  
% See also NEFCON, NEFGUI.  

% Author: Andreas Nuernberger, TU Braunschweig, August 1996; a.nuernberger@tu-bs.de
%         contact: Ludger Merz, DASA-Airbus GmbH, Hamburg; ludger.merz@airbus.de
   
% Globals: described in nefmat   
global NEFCON_SYSNO NEFCON_PROT NEFCON_STAT NEFCON_UIH   
global NEFCON_RULE NEFCON_OPT NEFCON_IFM NEFCON_EFM NEFCON_EFMN   
global NEFCON_RATE NEFCON_FERR NEFCON_FIS NEFCON_NUMIN   
global NEFCON_RBT NEFCON_RBND NEFCON_RBT1 NEFCON_RBND1 NEFCON_OBT NEFCON_OBND    
global NEFCON_GEN NEFCON_CONTR   
global NEFCON_GENN NEFCON_ADDR NEFCON_MFIN NEFCON_MFOUT NEFCON_MFIT NEFCON_MFOT  
global NEFCON_RRATE NEFCON_RPER   
  
global NEFCON_STOP
global NEFCON_STAT  

%nof cycles /actual cycle
global NEFCON_CYC NEFCON_ACTCYC

%actual input/output intervall and gain information   
global NEFCON_INT NEFCON_GAIN 
  
% systemname (set on start of any tool by nefdef)  
global NEFCON_SYSNAME  
global NEFCON_BTN  
global NEFCON_STATEX  
  

    if NEFCON_SYSNAME == [],   
        NEFCON_SYSNAME = get_param;   
    end   
    if NEFCON_SYSNO == [],   
        NEFCON_SYSNO = 0;   
    end   
    if NEFCON_STAT == [],   
        NEFCON_STAT = 0;   
    end   
    if NEFCON_RULE == [],   
        NEFCON_RULE = 1;    % bottom_up learning   
    end   
    if NEFCON_OPT == [],   
        NEFCON_OPT = 1;    % nefcon modified   
    end   
    if NEFCON_RATE == [],   
        NEFCON_RATE = 0.01;   
    end   
    if NEFCON_FERR == [],   
        NEFCON_FERR = 1;    % error calculation   
    end   
    if NEFCON_IFM == [],   
        NEFCON_IFM = '';    % fismatrix   
    end   
    if NEFCON_EFMN == [],   
        NEFCON_EFMN = '';    % fismatrix   
    end   
    if NEFCON_NUMIN == [],   
        NEFCON_NUMIN = 3;               % nof inputs   
    end   
    if NEFCON_RBT == [],   
        NEFCON_RBT = 3;               % cycles   
    end   
    if NEFCON_RBND == [],   
        NEFCON_RBND = 1;               % nof units   
    end   
    if NEFCON_RBT1 == [],   
        NEFCON_RBT1 = 3;               % cycles   
    end   
    if NEFCON_RBND1 == [],   
        NEFCON_RBND1 = 2;               % nof units   
    end   
    if NEFCON_OBT == [],   
        NEFCON_OBT = 3;               % cycles   
    end   
    if NEFCON_OBND == [],   
        NEFCON_OBND = 4;               % nof units   
    end   
   
   
    if NEFCON_CYC == [],   
        if NEFCON_RBT == 3 & NEFCON_OBT == 3,   
            NEFCON_CYC = NEFCON_RBND + NEFCON_OBND;    % nof cycles   
        else   
            NEFCON_CYC = 1;               % nof cycles   
        end   
    end   
    if NEFCON_ACTCYC == [],   
        NEFCON_ACTCYC = 0;               % act cycles   
    end   
       
    if NEFCON_GEN == [],   
        NEFCON_GEN = 1;               % generator   
        sys = get_param;  
        if sys ~= []  
            if get_param([sys,'/Bounded SigGen'], 'position') ~= []  
                NEFCON_GEN = 2;  
            end  
        end       	  
    end   
    if NEFCON_CONTR == [],   
        NEFCON_CONTR = 1;               % system   
    end   
    if NEFCON_GENN == [],   
        NEFCON_GENN = 1;               % enable noise generation   
    end   
    if NEFCON_MFIN == [],   
        NEFCON_MFIN = 3;               % nof mf's in input   
    end   
    if NEFCON_MFOUT == [],   
        NEFCON_MFOUT = 5;               % nof mf's in output  
    end   
    if NEFCON_MFIT == [],   
        NEFCON_MFIT = 1;               % trimf mf's in input   
    end   
    if NEFCON_MFOT == [],   
        NEFCON_MFOT = 1;               % trimf mf's in output  
    end   
    if NEFCON_ADDR == [],   
        NEFCON_ADDR = 1;               % enable rule adding during optimization  
    end   
  
    if NEFCON_STATEX == [];            % one if status is to execute; 0 if skip  
        NEFCON_STATEX = ones(1, 7);  
    end  
  
    if NEFCON_RRATE == [],   
        NEFCON_RRATE = 1.0;   
    end   
    if NEFCON_RPER == [],   
        NEFCON_RPER = 0;   
    end   
    if NEFCON_STOP == [],   
          NEFCON_STOP = 0;   
    end   
    if NEFCON_BTN == [],   
          NEFCON_BTN = 0;   
    end   

	if NEFCON_GAIN == [] | NEFCON_INT == []
		% get input/output intervall and gain information
		gain = get_param([NEFCON_SYSNAME,'/Fuzzi/GainOut'],'Gain');
		if gain == []
			gain = 1;
                        else	
                             gain = str2num(gain);
		end
		NEFCON_GAIN = gain;  	% output gain
		NEFCON_INT = [-1 1];	% output intervall

		for i = 1:NEFCON_NUMIN
			nof = num2str(i);
			ll = get_param([NEFCON_SYSNAME,'/Fuzzi/Saturation', nof],'Lower Limit');
			ul = get_param([NEFCON_SYSNAME,'/Fuzzi/Saturation', nof],'Upper Limit');
			gain = get_param([NEFCON_SYSNAME,'/Fuzzi/GainIn', nof],'Gain');
			if ll == [] | ul == []
				ll = -1;
				ul = 1;
			else
				ll = str2num(ll);
				ul = str2num(ul);
			end
			if gain == []
				gain = 1;
			else
				gain = str2num(gain);
			end
			NEFCON_GAIN = [NEFCON_GAIN;gain];
			NEFCON_INT = [NEFCON_INT;[ll ul]];
		end
	end

⌨️ 快捷键说明

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