主要内容

addRule

在模糊推理系统中加入规则

描述

fisOut= addRule (fisIn在模糊推理系统中增加一条模糊规则fisIn使用默认描述"input1==mf1 => output1=mf1"并返回生成的模糊系统fisOut

例子

fisOut= addRule (fisInruleDescription中的规则描述添加一个或多个模糊规则ruleDescription

例子

全部折叠

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

Fis = readfis(“蒂珀”);金融中间人。规则= [];

向FIS添加规则。

ruleTxt =“如果服务差,小费就便宜”;fis2 = addRule(fis,ruleTxt);

fis2等于金融中间人,除非指定的规则已添加到规则库中。

fis2。规则
ans = fisrule with properties:描述:"服务==poor => tip=cheap (1)"前项:[10 0]后项:1权重:1连接:1

加载模糊推理系统(FIS)。

Fis = readfis(“蒂珀”);

使用语言表达式指定if-then规则。

规则1 =“如果服务差或者食物变质,那么小费就很便宜。”;规则2 =“如果服务很好,食物不变质,那么小费就很慷慨。”;规则= [rule1 rule2];

将规则添加到FIS中。

fis2 = addRule(fis,rules);

fis2等于金融中间人,除非指定的规则已添加到规则库中。

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

Fis = readfis(“蒂珀”);金融中间人。规则= [];

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

  • 如果服务可怜的食物令人作呕的然后提示便宜的

  • 如果服务优秀的而且食物不是令人作呕的然后提示慷慨的

规则1 =服务=差|食物=臭=>小费=便宜;规则2 =“服务==好&食物~=臭=>小费=慷慨”;规则= [rule1 rule2];

将规则添加到FIS中。

fis2 = addRule(fis,rules);

fis2等于金融中间人,除非指定的规则已添加到规则库中。

fis2。规则
ans = 1 x2 fisrule数组属性:前期顺向体重连接细节描述:描述  _______________________________________________________ 1”服务= =差= = |食品酸败= >提示=廉价(1)”服务=优质&食物=变质=>小费=慷慨(1)"

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

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

使用隶属度函数索引指定以下规则:

  • 如果而且速度,然后negBig而且force2posBig2

  • 如果不是而且速度,然后posSmall而且force2negSmall2

Rule1 = [1 2 1 4 1 1];Rule2 = [-1 1 3 2 1 1];规则= [rule1;规则2];

将规则添加到FIS中。

fis2 = addRule(fis,rules);

fis2等于金融中间人,除非指定的规则已添加到规则库中。

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

输入参数

全部折叠

模糊推理系统,指定为下列对象之一。

  • mamfis对象- Mamdani模糊推理系统

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

  • mamfistype2对象- Type-2 Mamdani模糊推理系统

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

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

文本规则说明

对于文本规则描述,请指定ruleDescription作为下列之一:

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

    规则=“如果服务差或者食物变质,那么小费就很便宜。”
  • 字符串数组,其中每个元素对应一个规则。

    ruleList = [“如果服务差或者食物变质,那么小费就很便宜。”“如果服务很好,那么小费也是一般的”如果服务很好或者食物很美味,那么小费就很慷慨。];
  • 字符数组,其中每行对应一个规则。

    规则1 =“如果服务差或者食物变质,那么小费就很便宜。”;规则2 =“如果服务很好,那么小费就是平均水平”;规则3 =“如果服务很好或食物很美味,那么小费就很慷慨。”;ruleList = char(rule1,rule2,rule3);

对于每个规则,使用下列规则文本格式之一。

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

    "IF <前项> THEN <结果>(<权重>)"

    <前期>属性指定每个输入变量的隶属度函数不是关键字。属性连接这些条件关键词。如果规则不使用给定的输入变量,则将其从先行项中省略。

    <顺向>属性指定每个输出变量的条件不是关键字,并使用逗号分隔这些条件。的不是关键字不支持Sugeno输出。如果规则不使用给定的输出变量,则将其从结果中省略。

    使用正数值指定权重。

    "如果A是A B不是B那么X是X Y不是Y (1)"
  • Symbolic—使用下表中的符号而不是关键字的表达式。没有符号表示如果关键字。

    象征 关键字
    = = (在规则先行项中)
    ~ = 不是
    |
    = > 然后
    (规则结果)

    例如,下面的符号规则相当于前面的详细规则。

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

数字规则说明

对于数字规则描述,请指定ruleDescription作为下列之一:

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

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

对于每一行,数值规则描述都有+N+2列,其中输入变量的个数和N是输出变量的个数。每一列包含以下信息:

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

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

  • +N+1指定规则权重,对应于重量规则的属性。

  • 最后一列指定前项模糊运算符,并对应于连接规则的属性。

输出参数

全部折叠

更新的模糊推理系统,返回为以下对象之一。

  • mamfis对象- Mamdani模糊推理系统

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

  • mamfistype2对象- Type-2 Mamdani模糊推理系统

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

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

版本历史

在R2018b中引入

全部展开

Baidu
map