gusucode.com > 模糊控制工具箱 fuzzy logic toolbox源码程序 > fuzzy/fuzzy/addrule.m

    function out=addrule(fis,rule);
%   Purpose
%   Add a rule to an FIS.
%
%   Synopsis
%   a = addrule(a,ruleList)
%
%   Description
%   addrule has two arguments. The first argument is the FIS name. The second
%   argument for addrule is a matrix of one or more rows, each of which
%   represents a given rule. The format that the rule list matrix must take is
%   very specific. If there are m inputs to a system and n outputs, there must
%   be exactly m + n + 2 columns to the rule list.
%   The first m columns refer to the inputs of the system. Each column contains
%   a number that refers to the index of the membership function for that
%   variable.
%   The next n columns refer to the outputs of the system. Each column contains
%   a number that refers to the index of the membership function for that
%   variable.
%   The m + n + 1 column contains the weight that is to be applied to the rule.
%   The weight must be a number between zero and one, and is generally left as
%   one.
%   The m + n + 2 column contains a 1 if the fuzzy operator for the rule's
%   antecedent is AND. It contains a 2 if the fuzzy operator is OR.
%   Example
%   ruleList=[
%   	1 1 1 1 1
%   	1 2 2 1 1];
%   a = addrule(a,ruleList);
%   If the above system a has two inputs and one output, the first rule can be
%   interpreted as: *If input 1 is MF 1 and input 2 is MF 1, then output 1 is
%   MF 1.*
%
%   See also 
%   addmf, addvar, parsrule, rmmf, rmvar, showrule

%   Ned Gulley, 2-2-94
%   Copyright 1994-2002 The MathWorks, Inc. 
%   $Revision: 1.16 $  $Date: 2002/04/14 22:21:37 $

oldRuleList=getfis(fis,'ruleList');
newRuleList=[oldRuleList; rule];

fis=setfis(fis,'ruleList',newRuleList);

out=fis;