主要内容

addrule.

将规则添加到模糊推理系统

描述

fisOut= addrule(Fisin.为模糊推理系统添加一条模糊规则Fisin.使用默认描述“input1 = = mf1 = > output1 = mf1”并返回所产生的模糊系统fisOut

例子

fisOut= addrule(Fisin.Ruledescription.使用规则描述添加一个或多个模糊规则Ruledescription.

例子

全部折叠

加载一个模糊推理系统(FIS),明确现有规则。

fis = readfis('蒂珀');金融中间人。规则= [];

添加规则到FIS。

Ruletxt =.“如果服务很差,那么小费就很便宜”;FIS2 = addrule(FIS,RULETXT);

FIS2.相当于FIS.,除了将指定的规则添加到规则库之外。

fis2。规则
ANS =具有属性的Fisrule:描述:“服务== PORD => TIP =便宜(1)”前一种:[1 0]因此:1重量:1连接:1

加载一个模糊推理系统(FIS),明确现有规则。

fis = readfis('蒂珀');金融中间人。规则= [];

使用符号表达式指定以下规则:

  • 如果服务较差的食物然后小费便宜的

  • 如果服务优秀的食物不是然后小费慷慨的

规则1 ="service==poor | food==rancid => tip=cheap";规则2 =“服务==优秀&食物==腐臭== >小费==慷慨”;规则= [规则1规则2];

添加规则到FIS中。

fis2 = addrule(fis,规则);

FIS2.相当于FIS.,除非指定的规则已添加到规则库中。

fis2。规则
ANS = 1x2具有属性的FISRule阵列:说明前所未有的重量连接详细信息:描述__________________________________________________________________________ rancid => tip =便宜(1)“2”服务==优秀和食物〜= rancid =>提示=慷慨(1)“

加载模糊推理系统(FIS),明确现有规则。

fis = readfis(“mam22.fis”);金融中间人。规则= [];

使用成员函数索引指定以下规则:

  • 如果速度, 然后negbigForce2.posBig2

  • 如果不是速度, 然后possmall.Force2.negsmall2.

规则1 = [1 2 1 4 1 1];规则2 = [-1 1 3 2 1 1];规则= [RULE1;规则2];

添加规则到FIS中。

fis2 = addrule(fis,规则);

FIS2.相当于FIS.,除非指定的规则已添加到规则库中。

fis2。规则
ans = 1 x2 fisrule数组属性:前期顺向体重连接细节描述:描述  ________________________________________________________________________ 1”= =小角和速度= = = >大力量= negBig force2 = posBig2(1)”2 "angle~=small & velocity==small => force=posSmall, force2=negSmall2 (1)"

输入参数

全部折叠

模糊推理系统,指定为以下之一:

  • mamfisobject - Mamdani模糊推理系统

  • sugfis对象 - Sugeno模糊推理系统

  • mamfistype2object - Type-2 Mamdani模糊推理系统

  • sugfistype2对象-2型Sugeno模糊推理系统

规则描述,使用文本或数字规则定义指定

文本规则描述

对于文本规则描述,请指定Ruledescription.作为以下内容之一:

  • 指定单个规则的字符串或字符向量

    规则=“如果服务差或食物是腐臭然后提示很便宜”;
  • 字符串数组,其中每个元素对应于规则。例如:

    rulelist = [如果服务很差或者食物变质了,小费就会很便宜;“如果服务好,那么提示是平均”;“如果服务是优秀的或食物很美味然后提示是慷慨的”];
  • 每一行对应一个规则的字符数组。例如:

    规则1 =“如果服务很差或者食物变质了,那么小费就很便宜。”;规则2 ='如果服务良好,那么提示是平均';规则3 ='如果服务是优秀的或食物很美味,那么提示很大;ruleList = char(规则1、规则2、规则3);

对于每个规则,请使用以下规则文本格式之一:

  • verbose - 语言表达以以下格式,使用如果然后关键词:

    “如果<前一种>然后<结果>(<重量>)”

    <191.,使用该输入变量指定每个输入变量的隶属函数不是关键词。使用该条件使用该条件关键词。如果规则不使用给定的输入变量,请从前进状态省略它。

    <结果>,为每个输出变量指定条件不是关键字,并使用逗号分隔这些条件。这不是Sugeno输出不支持关键字。金宝app如果规则没有使用给定的输出变量,则在结果中省略它。

    使用正数值指定权重。

    例如:

    IF A IS A AND B IS NOT B THEN X IS X, Y IS NOT Y (1)
  • 符号-使用下表中的符号而不是关键字的表达式。没有符号表示如果关键词。

    象征 关键字
    == (在规则先行词)
    ~ = 不是
    |
    => 然后
    = (在规则的)

    例如,以下符号规则等同于上一个详细规则。

    A== A & B => X= X, Y = Y (1)

数字规则描述

对于数字规则描述,请指定Ruledescription.作为以下内容之一:

  • 行向量指定单个模糊规则

  • 数组,每行ruleValues指定一个规则

对于每行,数字规则描述具有m+N+2列,在哪里m是输入变量的数量和N是输出变量的数量。每列包含以下信息:

  • 第一个m列指定输入成员函数索引,并对应于先行词规则的财产。表示A.不是条件,指定负值。如果规则不使用给定的输入,请将相应的索引设置为0..对于每个规则,至少有一个输入隶属度函数索引必须是非零的。

  • 下一个N列指定输出隶属函数指数并对应于结果规则的财产。表示A.不是Mamdani系统的条件,指定负值。不是Sugeno输出不支持条件。金宝app如果规则不使用给定的输出,则将对应的索引设置为0..对于每个规则,至少有一个输出隶属度函数索引必须是非零的。

  • m+N+1表示规则权重,对应于重量规则的财产。

  • 最后一列指定前置模糊运算符,并对应于联系规则的财产。

输出参数

全部折叠

模糊推理系统,指定为以下之一:

  • mamfisobject - Mamdani模糊推理系统

  • sugfis对象 - Sugeno模糊推理系统

  • mamfistype2object - Type-2 Mamdani模糊推理系统

  • sugfistype2对象-2型Sugeno模糊推理系统

fisOut包含添加的输出规则,其中包含匹配属性的所有其他属性Fisin.

兼容性的考虑

全部展开

R2018B的行为更改

警告从R2019b开始

在R2018B中介绍