addRule
在模糊推理系统中加入规则
描述
例子
在模糊推理系统中加入单一规则
加载模糊推理系统(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
而且force2
是posBig2
.如果
角
不是小
而且速度
是小
,然后力
是posSmall
而且force2
是negSmall2
.
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)"
输入参数
fisIn
- - - - - -模糊推理系统
mamfis
对象|sugfis
对象|mamfistype2
对象|sugfistype2
对象
模糊推理系统,指定为下列对象之一。
mamfis
对象- Mamdani模糊推理系统sugfis
对象- Sugeno模糊推理系统mamfistype2
对象- Type-2 Mamdani模糊推理系统sugfistype2
对象- Type-2 Sugeno模糊推理系统
ruleDescription
- - - - - -规则描述
字符串|特征向量|数字行向量|字符串数组|字符数组|数字数组
规则描述,使用文本或数字规则定义指定。
文本规则说明
对于文本规则描述,请指定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指定规则权重,对应于
重量
规则的属性。最后一列指定前项模糊运算符,并对应于
连接
规则的属性。
输出参数
版本历史
在R2018b中引入R2019b:对模糊推理系统结构的支持将被移除
在未来的版本中,将不再支持将模糊推理系统表示为结构。使用mamfis
而且sugfis
使用此函数代替。若要将现有模糊推理系统结构转换为对象,请使用convertfis
函数。
这一变化在R2018b中宣布。使用具有此功能的模糊推理系统结构,从R2019b开始发出警告。
R2018b:重新命名为addRule
addrule
现在是addRule
.若要更新代码,请将函数名更改为addrule
来addRule
.语法是等价的。
R2018b:使用语言和符号表达来指定规则
您可以使用语言和符号表达式向模糊系统添加规则。这addRule
功能取代了等价物parsrule
功能。
Abrir比如
Tiene una versión modificada de este ejemplo。¿Desea abrir este ejemplo con sus modificaciones?
MATLAB突击队
Ha hecho clic en unenlace que对应一个este commando de MATLAB:
弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。