evalfis
评估的模糊推理系统
语法
描述
例子
评估的模糊推理系统
评估FIS多个输入组合
加载金融中间人。
fis = readfis (“蒂珀”);
使用一个数组指定输入组合评估每输入一行的组合。
输入= [2 1;4 5;7 8];
评估金融中间人指定输入组合。
输入输出= evalfis (fis)
输出=3×17.0169 14.4585 20.3414
每一行的输出
是defuzzified输出值的对应行吗输入
。
指定数量的输出样本FIS评估
加载金融中间人。
fis = readfis (“蒂珀”);
创建一个evalfisOptions
选项设置,指定输出模糊集的样本数量。
选择= evalfisOptions (“NumSamplePoints”,50);
使用这个选项集评估金融中间人。
输出= evalfis (fis、[2 1]选项);
模糊推理系统的评价树
创建一对Mamdani模糊推理系统。
fis1 = mamfis (“名字”,“fis1”,“NumInputs”2,“NumOutputs”1);fis2 = mamfis (“名字”,“fis2”,“NumInputs”2,“NumOutputs”1);
定义之间的联系。
反对= [“fis1 / output1”“fis2 / input1”];
创建一个树的模糊推理系统。
树= fistree ([fis1 fis2],反对);
创建一个evalfisOptions
选项设置,指定输出模糊集的样本数量。
选择= evalfisOptions (“NumSamplePoints”,50);
评估fistree
对象使用指定的输入组合和设置这个选项。
y = evalfis(树,(0.5 0.2 0.7)选项)
y = 0.1553
获得中级模糊推理结果
加载金融中间人。
fis = readfis (“蒂珀”);
评估金融中间人,然后返回中间推理结果。
[fuzzifiedIn输出,消除,aggregatedOut ruleFiring] = evalfis (fis, 2 [1]);
您可以检查中间结果理解或可视化模糊推理过程。例如,查看汇总输出模糊集,模糊集evalfis
defuzzifies找到输出值。同时,情节defuzzified输出值。
fis.output.range outputRange = linspace (fis.output.range(1),(2),长度(aggregatedOut)) ';情节(outputRange aggregatedOut,[输出输出],[0 1]包含(“小费”)ylabel (“输出会员”)传说(“聚合输出模糊集”,“Defuzzified输出”)
的长度aggregatedOutput
对应的采样点数量用于离散化输出模糊集。
评估2型模糊推理系统
创建一个2型Mamdani模糊推理系统。
fis = mamfistype2 (“NumInputs”2,“NumOutputs”1);
评估FIS当第一个输入0.4
第二个输入0.72
。
输出= evalfis (fis, [0.4 - 0.72])
输出= 0.1509
2型FIS的输出是一个脆值。
当你获得中级2型FIS模糊推理结果,您获得中间结果生成使用上下MF值。例如,获得中级fuzzified输入值。
[输出,fuzzifiedInput] = evalfis (fis, [0.5 - 0.75]);
查看fuzzified输入值。
fuzzifiedInput
fuzzifiedInput =9×41.0000 0 0 0 0 0 0 0 0 0 0 0 0.4000 1.0000 0.2500 0.4000 0.2500 1.0000 0.4000 1.0000 0.2500 0 0 0 0 0.4000 0.2500 0.2500 1.0000 0.4000 1.0000 0.2500 0.4000 0
前两列包含fuzzified第一和第二输入值的基础上为每个输入MF。第二个两列包含fuzzified值为每个输入基于MF越低。
输入参数
金融中间人
- - - - - -模糊推理系统
mamfis
对象|sugfis
对象|mamfistype2
对象|sugfistype2
对象|fistree
对象
模糊推理系统评估,指定为以下之一:
mamfis
对象——Mamdani模糊推理系统sugfis
对象——Sugeno模糊推理系统mamfistype2
对象- 2型Mamdani模糊推理系统sugfistype2
对象- 2型Sugeno模糊推理系统fistree
对象——树相互连接的模糊推理系统齐次结构创建使用
getFISCodeGenerationData
。例如,看到的使用MATLAB模糊系统编码器生成代码。
输入
- - - - - -输入值
米——- - - - - -NU数组
输入值,指定为一个米——- - - - - -NU数组,NU输入变量的数量吗金融中间人
和米是输入的数量组合评价。
evalfis
金宝app支持双精度或单精确输入值。
选项
- - - - - -评估选择
evalfisOptions
对象
评价选项,指定为一个evalfisOptions
对象。
输出参数
fuzzifiedIn
——Fuzzified输入值
数组
Fuzzified输入值,作为一个数组返回。
当金融中间人
是一个1型模糊推理系统,fuzzifiedIn
是一个NR——- - - - - -NU数组,NR规则的数量吗金融中间人
。元素(我,j)fuzzifiedIn
的输入隶属函数的值是jth的输入我规则。
当金融中间人
是一个2型模糊推理系统,fuzzifiedIn
是一个NR————(2 *NU)数组。第一个NU列包含fuzzified上面的隶属函数的值对于每个规则,和最后一个NU列包含fuzzified隶属函数值低。
如果输入
指定多个输入组合fuzzifiedIn
对应于最后一行的组合输入
。
有关不分明化输入值的更多信息,请参阅Fuzzify输入。
这个输出参数时不支持金宝app金融中间人
是一个fistree
对象。
消除
——规则输出
数组
规则输出,作为一个数组返回。获得输出对于每个规则,evalfis
应用规则的发射强度前期输出隶属函数中指定使用暗示方法金融中间人
。
当金融中间人
是一个1型Mamdani系统,消除
是一个N年代————(NRNY)数组,NR是规则的数量,NY是输出的数量,和N年代采样点的数量用于评估输出变量范围。每一列的消除
包含一个规则的输出模糊集。第一个NR列包含规则输出第一输出变量NR列对应第二个输出变量,等等。
当金融中间人
是一个2型Mamdani系统,消除
是一个N年代————(2 *NR*NY)数组。第一个NR*NY使用上生成的列包含规则输出隶属度函数,最后NR*NY列包含规则输出生成使用较低的隶属度函数。
当金融中间人
是一个1型Sugeno系统,每个规则输出是一个标量值。在这种情况下,消除
是一个NR——- - - - - -NY数组中。元素(j,k)消除
的价值吗k的输出变量j规则。
当金融中间人
是一个2型Sugeno系统,消除
是一个NR————(3 *NY)数组。第一个NY列包含规则的输出水平。下一个NY列包含相应的规则发射的优点使用上隶属度函数生成。最后一个NY列包含规则发射的优点使用较低的隶属度函数生成。例如,在三个的输出系统中,列4和7包含发射的产量水平的优势第一列。
如果输入
指定多个输入组合消除
对应于最后一行的组合输入
。
有关模糊含义的更多信息,请参阅运用暗示法。
这个输出参数时不支持金宝app金融中间人
是一个fistree
对象。
aggregatedOut
——聚合输出
数组|行向量
聚合输出为每个输出变量,作为一个数组返回。
N年代——- - - - - -NY数组或一个行向量的长度NY。对于每一个输出变量,evalfis
结合相应的输出从所有使用聚合方法中指定的规则金融中间人
。
对于1型Mamdani系统,每个输出变量的总体结果是模糊集合。在这种情况下,aggregatedOut
是作为一个N年代——- - - - - -NY数组,NY输出的数量和吗N年代采样点的数量用于评估输出变量范围。每一列的aggregatedOut
包含一个输出变量的总模糊集。
对于2型Mamdani系统,每个输出变量的总体结果是模糊集合。在这种情况下,aggregatedOut
是作为一个N年代————(2 *NY)数组。第一个NY列包含聚合使用上生成输出隶属度函数,最后NY列包含聚合生成输出使用较低的隶属度函数。
当金融中间人
是一个1型Sugeno系统,每个输出变量的总体结果是一个标量值。在这种情况下,aggregatedOut
是一个行向量的长度NY,元素k是规则的输出的总和k输出变量。
当金融中间人
是一个2型Sugeno系统,aggregatedOut
是一个NR————(3 *NY)数组。aggregatedOut
包含相同的数据消除
基于输出水平的列排序。例如,在三个的输出系统中,当第1列排序,输出水平相应的发射的优势列4和7的相应调整。
如果输入
指定多个输入组合aggregatedOut
对应于最后一行的组合输入
。
有关模糊聚合的更多信息,请参阅聚合所有输出。
这个输出参数时不支持金宝app金融中间人
是一个fistree
对象。
ruleFiring
——规则解雇的优势
列向量|数组
选择功能
应用程序
你可以评估1型模糊推理系统使用规则查看器在模糊逻辑设计应用程序。
金宝app仿真软件块
你可以评估使用的模糊推理系统模糊逻辑控制器块。更多信息映射的参数evalfis
到模糊逻辑控制器块,看模拟仿真软件的模糊推理系统金宝app。
兼容性的考虑
evalfis输入参数顺序已经改变了
行为改变R2018b
输入参数的顺序evalfis
发生了变化,这就需要更新代码。
更新代码
以前,来评估一个模糊推理系统,金融中间人
,你指定的输入变量值,输入
,第一个输入参数。例如:
输入,输出= evalfis (fis);输出= evalfis(输入、fis选项);
更新你的代码来指定作为第一个输入参数的模糊推理系统。例如:
输入输出= evalfis (fis);输出= evalfis (fis、输入、选择);
指定输出模糊集的样本点的数量,你现在使用一个evalfisOptions对象
行为改变R2018a
指定的采样点数量输出模糊集,现在我们一个evalfisOptions
对象,该对象需要更新代码。
更新代码
此前,指定采样点的数量,numPts
,用在评估输出模糊集的模糊推理系统金融中间人
,你使用一个输入参数。例如:
输出= evalfis(输入、fis numPts);
更新你的代码来指定使用一个采样点的数量evalfisOptions
对象。例如:
选择= evalfisOptions (“NumSamplePoints”,numPts);输出= evalfis(输入、fis选择);
evalfis诊断消息的行为已经发生了改变
行为改变R2018a
诊断信息的行为evalfis
功能已经改变了。在此之前,evalfis
函数有以下行为的诊断条件。
诊断条件 | 先前的行为 |
---|---|
指定的变量范围以外的输入值 | MATLAB®警告 |
没有规定了对于一个给定的输出在当前输入值 | MATLAB命令窗口消息 |
空的输出模糊集 | MATLAB命令窗口消息 |
从R2018a开始,这些诊断条件默认报告为MATLAB警告。你可以改变这一行为在一个通过指定相应的选项evalfisOptions
对象。
更新代码
禁用默认的警告消息,更新你的代码使用evalfisOptions
对象,并指定诊断消息选项。例如,禁用空输出模糊集的信息。
选择= evalfisOptions (“EmptyOutputFuzzySetMessage”,“没有”);输出= evalfis(输入、fis选择);
中间模糊推理输出Sugeno系统现在类似于Mamdani系统的输出
行为改变R2018a
当评估一个Sugeno系统使用以下语法,中间模糊推理结果现在类似于Mamdani系统的中间结果。
(输出、fuzzifiedInputs ruleOutputs aggregatedOutput] = evalfis(输入、fis);
Sugeno系统:
ruleOutputs
现在返回一个数组,其中包含标量输出值对于每个规则;即产品规则的发射力量和规则输出电平。aggregatedOutput
现在返回的总和规则为每个输出变量输出值。
此前,Sugeno模糊系统:
ruleOutputs
返回一个数组,包含每个规则的输出电平。aggregatedOutput
返回一个数组,包含每个规则的发射强度。
从R2018a开始,如果您的代码返回中间模糊推理结果在评估Sugeno系统使用evalfis
使用新的、修改你的代码ruleOutputs
和aggregatedOutput
结果。
扩展功能
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
使用笔记和限制:
所有
evalfis
为代码生成语法支持。金宝app然而,mamfis
,sugfis
,fistree
不支持对象。金宝app使用evalfis
对于代码生成,您必须使用FIS对象转换成均匀的结构getFISCodeGenerationData
。不像模糊逻辑控制器块,
evalfis
不支持定点仿真数据金宝app或代码生成。在评估模型的模糊推理系统金宝app®,不建议使用
evalfis
或evalfisOptions
在一个MATLAB函数块。相反,评估你使用一个模糊推理系统模糊逻辑控制器块。
之前介绍过的R2006a
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。