亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? anfis.m

?? 模糊控制工具箱,很好用的,有相應的說明文件,希望對大家有用!
?? M
字號:
function [t_fismat, t_error, stepsize, c_fismat, c_error] ...
    = anfis(trn_data, in_fismat, t_opt, d_opt, chk_data, method)
%ANFIS   Adaptive Neuro-Fuzzy training of Sugeno-type FIS.
%   
%   ANFIS uses a hybrid learning algorithm to identify the membership function
%   parameters of single-output, Sugeno type fuzzy inference systems (FIS). A
%   combination of least-squares and backpropagation gradient descent methods
%   are used for training FIS membership function parameters to model a given
%   set of input/output data.
%
%   [FIS,ERROR] = ANFIS(TRNDATA) tunes the FIS parameters using the
%   input/output training data stored in TRNDATA. For an FIS with N inputs,
%   TRNDATA is a matrix with N+1 columns where the first N columns contain data
%   for each FIS input and the last column contains the output data. ERROR is
%   the array of root mean square training errors (difference between the FIS
%   output and the training data output) at each epoch. ANFIS uses GENFIS1 to
%   create a default FIS that is used as the starting point for ANFIS training.
%
%   [FIS,ERROR] = ANFIS(TRNDATA,INITFIS) uses the FIS structure, INITFIS as the 
%   starting point for ANFIS training.
%
%   [FIS,ERROR,STEPSIZE] = ANFIS(TRNDATA,INITFIS,TRNOPT,DISPOPT,[],OPTMETHOD)
%   uses the vector TRNOPT to specify training options:
%       TRNOPT(1): training epoch number                     (default: 10)
%       TRNOPT(2): training error goal                       (default: 0)
%       TRNOPT(3): initial step size                         (default: 0.01)
%       TRNOPT(4): step size decrease rate                   (default: 0.9)
%       TRNOPT(5): step size increase rate                   (default: 1.1)
%   The training process stops whenever the designated epoch number is reached
%   or the training error goal is achieved. STEPSIZE is an array of step sizes.
%   The step size is increased or decreased by multiplying it by the step size
%   increase or decrease rate as specified in the training options. Entering NaN
%   for any option will select the default value.
%
%   Use the DISPOPT vector to specify display options during training. Select 1
%   to display, or 0 to hide information:
%       DISPOPT(1): general ANFIS information                (default: 1)
%       DISPOPT(2): error                                    (default: 1)
%       DISPOPT(3): step size at each parameter update       (default: 1)
%       DISPOPT(4): final results                            (default: 1)
%
%   OPTMETHOD selects the optimization method used in training. Select 1 to use
%   the default hybrid method, which combines least squares estimation with
%   backpropagation. Select 0 to use the backpropagation method.
%
%   [FIS,ERROR,STEPSIZE,CHKFIS,CHKERROR] = ...
%   ANFIS(TRNDATA,INITFIS,TRNOPT,DISPOPT,CHKDATA) uses the checking (validation)
%   data CHKDATA to prevent overfitting of the training data set. CHKDATA has
%   the same format as TRNDATA. Overfitting can be detected when the checking
%   error (difference between the output from CHKFIS and the checking data
%   output) starts increasing while the training error is still decreasing.
%   CHKFIS is the snapshot FIS taken when the checking data error reaches a
%   minimum. CHKERROR is the array of the root mean squared, checking data 
%   errors at each epoch.
%
%   Example
%       x = (0:0.1:10)';
%       y = sin(2*x)./exp(x/5);
%       epoch_n = 20;
%       in_fis  = genfis1([x y],5,'gbellmf');
%       out_fis = anfis([x y],in_fis,epoch_n);
%       plot(x,y,x,evalfis(x,out_fis));
%       legend('Training Data','ANFIS Output');
%
%   See also GENFIS1, ANFISEDIT.

%   Roger Jang, 9-12-94.  Kelly Liu, 10-10-97, N. Hickey 04-16-01
%   Copyright 1994-2005 The MathWorks, Inc.
%   $Revision: 1.31.2.4 $  $Date: 2005/06/27 22:36:49 $

%   References
%   Jang, J.-S. R., Fuzzy Modeling Using Generalized Neural Networks and
%   Kalman Filter Algorithm, Proc. of the Ninth National Conf. on Artificial
%   Intelligence (AAAI-91), pp. 762-767, July 1991.
%   Jang, J.-S. R., ANFIS: Adaptive-Network-based Fuzzy Inference Systems,
%   IEEE Transactions on Systems, Man, and Cybernetics, Vol. 23, No. 3, pp.
%   665-685, May 1993.

if nargin > 6 || nargin < 1,
    error('Too many or too few input arguments!');
end

% Change the following to set default train options.
default_t_opt = [10;    % training epoch number
        0;  % training error goal
        0.01;   % initial step size
        0.9;    % step size decrease rate
        1.1;   % step size increase rate
        1]; % add a bias to handle zero firing error

% Change the following to set default display options.
default_d_opt = [1; % display ANFIS information
        1;  % display error measure
        1;  % display step size
        1]; % display final result
% Change the following to set default MF type and numbers
default_mf_type = 'gbellmf';    % default MF type
default_outmf_type='linear';
default_mf_number = 2;
if nargin <= 5,
    method = 1;
end
if nargin <= 4,
    chk_data = [];
end
if nargin <= 3,
    d_opt = default_d_opt;
end
if nargin <= 2,
    t_opt = default_t_opt;
end
if nargin <= 1,
    in_fismat = default_mf_number;
end

% If fismat, d_opt or t_opt are nan's or []'s, replace them with default settings
if isempty(in_fismat)
   in_fismat = default_mf_number;
elseif ~isstruct(in_fismat) & length(in_fismat) == 1 & isnan(in_fismat),
   in_fismat = default_mf_number;
end 
if isempty(t_opt),
    t_opt = default_t_opt;
elseif length(t_opt) == 1 & isnan(t_opt),
    t_opt = default_t_opt;
end
if isempty(d_opt),
    d_opt = default_d_opt;
elseif length(d_opt) == 1 & isnan(d_opt),
    d_opt = default_d_opt;
end
if isempty(method)
   method = 1;
elseif length(method) == 1 & isnan(method),
   method = 1;
elseif method>1 |method<0
   method =1;
end 
% If d_opt or t_opt is not fully specified, pad it with default values. 
if length(t_opt) < 6,
    tmp = default_t_opt;
    tmp(1:length(t_opt)) = t_opt;
    t_opt = tmp;
end
if length(d_opt) < 5,
    tmp = default_d_opt;
    tmp(1:length(d_opt)) = d_opt;
    d_opt = tmp;
end

% If entries of d_opt or t_opt are nan's, replace them with default settings
nan_index = find(isnan(d_opt)==1);
d_opt(nan_index) = default_d_opt(nan_index);
nan_index = find(isnan(t_opt)==1);
t_opt(nan_index) = default_t_opt(nan_index);

% Generate FIS matrix if necessary
% in_fismat is a single number or a vector 
if class(in_fismat) ~= 'struct',
    in_fismat = genfis1(trn_data, in_fismat, default_mf_type);
end

if t_opt(end)==1 % adding bias if user has specified
    in_fismat.bias = 0;
end
    

% More input/output argument checking
if nargin <= 4 & nargout > 3,
    error('Too many output arguments!');
end
if length(t_opt) ~= 6,
    error('Wrong length of t_opt!');
end
if length(d_opt) ~= 4,
    error('Wrong length of d_opt!');
end

max_iRange = max([trn_data;chk_data],[],1);
min_iRange = min([trn_data;chk_data],[],1);
%Set input and output ranges to match training & checking data
for iInput = 1:length(in_fismat.input)
   in_fismat.input(iInput).range = [min_iRange(1,iInput), ...
      max_iRange(1,iInput)];
end
for iOutput = 1:length(in_fismat.output)
   in_fismat.output(iOutput).range = [min_iRange(1,iInput+iOutput), ...
      max_iRange(1,iInput+iOutput)];
end
%Make sure input MF's cover complete range
for iInput = 1:length(in_fismat.input)
   [oLow,oHigh,MFBounds] = localFindMFOrder(in_fismat.input(iInput).mf);
   %First ensure range limits are covered
   if all(isfinite(MFBounds(:,1))) & ...
         in_fismat.input(iInput).mf(oLow(1)).params(1) > min_iRange(1,iInput)
      %Lower limit
      in_fismat.input(iInput).mf(oLow(1)).params(1) = (1-sign(min_iRange(1,iInput))*0.1)...
         *min_iRange(1,iInput)-eps;
   end
   if all(isfinite(MFBounds(:,2))) & ...
         in_fismat.input(iInput).mf(oHigh(end)).params(end) < max_iRange(1,iInput)
      %Upper limit
      in_fismat.input(iInput).mf(oHigh(end)).params(end) = (1+sign(min_iRange(1,iInput))*0.1)...
         *max_iRange(1,iInput)+eps;
   end
   %Now ensure that whole data range is covered
   if ~any(all(~isfinite(MFBounds),2))
      %Don't have any set with +- inf bounds
      for iMF = 1:numel(oLow)-1
         %Loop through sets and assign corner points to overlap
         if in_fismat.input(iInput).mf(oLow(iMF)).params(end) < ...
               in_fismat.input(iInput).mf(oLow(iMF+1)).params(1)
            in_fismat.input(iInput).mf(oLow(iMF)).params(end) = (1+sign(min_iRange(1,iInput))*0.01)...
               *in_fismat.input(iInput).mf(oLow(iMF+1)).params(1) + eps;
         end
      end
   end
   
end

% Start the real thing!
if nargout == 0,
    anfismex(trn_data, in_fismat, t_opt, d_opt, chk_data, method);
elseif nargout == 1,
    [t_fismat] = ...
        anfismex(trn_data, in_fismat, t_opt, d_opt, chk_data, method);
elseif nargout == 2,
    [t_fismat, t_error] = ...
        anfismex(trn_data, in_fismat, t_opt, d_opt, chk_data, method);
elseif nargout == 3,
    [t_fismat, t_error, stepsize] = ...
        anfismex(trn_data, in_fismat, t_opt, d_opt, chk_data, method);
elseif nargout == 4,
    [t_fismat, t_error, stepsize, c_fismat] = ...
        anfismex(trn_data, in_fismat, t_opt, d_opt, chk_data, method);
elseif nargout == 5,
    [t_fismat, t_error, stepsize, c_fismat, c_error] = ...
        anfismex(trn_data, in_fismat, t_opt, d_opt, chk_data, method);
else
    error('Too many output arguments!');
end

if isfield(t_fismat, 'bias')
    t_fismat = rmfield(t_fismat, 'bias');
end

if nargout>3 && isfield(c_fismat, 'bias')
    c_fismat = rmfield(c_fismat,'bias');
end


%--------------------------------------------------------------------------
function [orderLow,orderHigh,MFBounds] = localFindMFOrder(MF)
%Function to find the order in which the mf's cover the range
%orderLow is the order of the lower mf 'corners'
%orderHigh is the order of the higher mf 'corners'

MFBounds = zeros(numel(MF),2);
for iMF = 1:numel(MF)
   switch lower(MF(iMF).type)
      case {'trimf','trapmf','pimf'}
         MFBounds(iMF,:) = [MF(iMF).params(1), MF(iMF).params(end)];
      case 'smf'
         MFBounds(iMF,:) = [MF(iMF).params(1), inf];
      case 'zmf'
         MFBounds(iMF,:) = [-inf, MF(iMF).params(end)];
      otherwise
         MFBounds(iMF,:) = [-inf, inf];
   end         
end

[junk,orderLow] = sort(MFBounds(:,1),1,'ascend');
if nargout >= 2
   [junk,orderHigh] = sort(MFBounds(:,2),1,'ascend');
end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产高清不卡| 日韩三级中文字幕| 成人夜色视频网站在线观看| 美女www一区二区| 国产一区三区三区| 国产精品资源在线看| 狠狠色狠狠色综合系列| 狠狠色狠狠色综合系列| 国产成人日日夜夜| 91在线一区二区三区| 色激情天天射综合网| 欧美日韩国产大片| 日韩视频一区二区三区| 日韩精品一区二区三区四区视频| 精品久久久久久久人人人人传媒| 久久久久久久综合| 亚洲男人的天堂一区二区| 亚洲午夜精品久久久久久久久| 亚洲综合久久久| 麻豆精品一区二区av白丝在线 | 色诱亚洲精品久久久久久| 日本韩国欧美在线| 日韩欧美中文字幕公布| 国产婷婷精品av在线| 亚洲最新视频在线播放| 久久激情五月婷婷| 成人av电影免费观看| 欧美日本在线观看| 欧美国产一区二区| 亚洲一区电影777| 激情五月激情综合网| 欧美在线观看视频在线| 久久一夜天堂av一区二区三区| 一区免费观看视频| 精品午夜久久福利影院 | 欧美亚洲国产怡红院影院| 欧美酷刑日本凌虐凌虐| 久久精品免费在线观看| 亚洲成人一区二区| 国产91露脸合集magnet| 欧美日韩成人高清| 国产精品成人午夜| 久久机这里只有精品| 在线观看中文字幕不卡| 国产免费成人在线视频| 奇米亚洲午夜久久精品| 欧美性猛片aaaaaaa做受| 欧美国产精品劲爆| 久久国产精品无码网站| 欧美日精品一区视频| 亚洲国产精品ⅴa在线观看| 麻豆精品一区二区综合av| 在线精品视频小说1| 国产精品麻豆99久久久久久| 国产一区二区三区免费| 欧美一级黄色大片| 午夜伦理一区二区| 色呦呦一区二区三区| 日韩伦理电影网| 国产精品一卡二卡在线观看| 精品噜噜噜噜久久久久久久久试看 | 美女视频黄a大片欧美| 欧美色综合影院| 亚洲图片欧美视频| 色婷婷亚洲婷婷| 亚洲最大成人网4388xx| 99精品热视频| 综合中文字幕亚洲| 成av人片一区二区| 国产精品视频观看| 99re热这里只有精品免费视频| 国产日韩欧美不卡| 波多野结衣的一区二区三区| 中文字幕欧美国产| 99免费精品在线| 亚洲人成人一区二区在线观看| 91啪亚洲精品| 亚洲国产wwwccc36天堂| 欧美精品tushy高清| 久久精品国产成人一区二区三区 | 99久久免费国产| 亚洲男人的天堂在线aⅴ视频| 日本韩国精品在线| 亚洲成人精品在线观看| 91麻豆精品国产91久久久| 免费欧美在线视频| 久久久久久久免费视频了| 国产成人综合在线| 中文字幕视频一区二区三区久| 99久久亚洲一区二区三区青草| 亚洲精品免费看| 91精品啪在线观看国产60岁| 捆绑变态av一区二区三区| 国产亚洲综合在线| 91久久精品一区二区三区| 亚洲成人av中文| 国产亚洲自拍一区| 91福利视频网站| 激情伊人五月天久久综合| 国产精品三级av| 欧美色网站导航| 国产成人午夜视频| 亚洲成在人线免费| 久久久久免费观看| 欧美乱妇15p| 成人网男人的天堂| 午夜电影一区二区三区| 中文字幕精品一区二区三区精品| 在线观看一区二区视频| 国产美女精品一区二区三区| 亚洲美女精品一区| 欧美一二三区精品| 91网站最新网址| 国内精品久久久久影院薰衣草| 亚洲视频一区在线观看| 精品国产一区二区亚洲人成毛片| 91香蕉国产在线观看软件| 毛片不卡一区二区| 亚洲一区二区欧美| 国产欧美精品一区aⅴ影院 | 国产精品私房写真福利视频| 欧美日韩美少妇| 岛国精品一区二区| 日本欧美加勒比视频| 亚洲精品欧美二区三区中文字幕| 欧美精品一区二区三区蜜桃 | 国内精品久久久久影院薰衣草 | 亚洲视频小说图片| 久久久久久久久久久黄色| 欧美美女直播网站| 一本色道**综合亚洲精品蜜桃冫 | 亚洲国产日产av| 中文字幕佐山爱一区二区免费| 久久亚洲影视婷婷| 日韩欧美中文字幕公布| 欧美日韩一级片网站| 91浏览器打开| 不卡区在线中文字幕| 成人av电影免费在线播放| 国产91丝袜在线观看| 国产麻豆91精品| 国产一区二区看久久| 黄色成人免费在线| 激情文学综合网| 国产毛片精品国产一区二区三区| 美女视频一区二区三区| 麻豆成人久久精品二区三区小说| 午夜视频一区在线观看| 亚洲动漫第一页| 午夜精品在线看| 视频在线观看国产精品| 免费人成网站在线观看欧美高清| 欧美aaaaaa午夜精品| 秋霞成人午夜伦在线观看| 日韩av不卡在线观看| 男女男精品网站| 精品在线视频一区| 国产精品综合一区二区| 波多野结衣中文一区| 色欧美日韩亚洲| 欧美精品第1页| 久久男人中文字幕资源站| 欧美国产禁国产网站cc| 亚洲另类一区二区| 亚洲国产aⅴ成人精品无吗| 日韩成人精品在线| 国产一区二区h| 99国产精品国产精品久久| 色一区在线观看| 日韩一级视频免费观看在线| 精品91自产拍在线观看一区| 国产片一区二区三区| 中文字幕综合网| 日韩和的一区二区| 国产一区二区美女诱惑| 色婷婷精品久久二区二区蜜臀av| 91精品国产麻豆国产自产在线| 久久综合九色综合97_久久久| 国产精品人成在线观看免费| 一级精品视频在线观看宜春院| 蜜桃av一区二区在线观看| 成人少妇影院yyyy| 91精品国产综合久久久久| 久久色中文字幕| 亚洲午夜一区二区三区| 经典三级一区二区| 色婷婷综合久久久中文字幕| 日韩精品一区二区在线观看| 亚洲欧洲精品一区二区三区不卡 | 久久久不卡网国产精品二区| 中文字幕一区二区三区在线观看| 亚洲午夜久久久久久久久久久| 国产在线播放一区二区三区| 在线影视一区二区三区| www日韩大片| 亚洲成人免费在线| 91亚洲男人天堂| 久久精品一区二区| 亚洲va在线va天堂| 99热99精品|