主要内容

sugfis

Sugeno模糊推理系统

描述

使用一个sugfis对象表示1型Sugeno模糊推理系统(FIS)。

作为类型-1 Sugeno系统的替代方案,您可以创建:

有关不同类型的模糊推理系统的更多信息,请参见Mamdani和Sugeno模糊推理系统二类模糊推理系统

创建

要创建Sugeno FIS对象,可以使用以下方法之一:

  • sugfis函数。

  • 如果您有输入/输出数据,您可以使用genfis函数。

  • 如果你有.fis文件,您可以使用readfis函数。

  • 将现有的Mamdani FIS转换为Sugeno FIS使用convertToSugeno

描述

例子

fis = sugfis创建具有默认属性值的Sugeno FIS。要修改模糊系统的属性,使用点符号。

例子

fis = sugfis (名称,值指定FIS配置信息或使用名称-值对参数设置对象属性。可以指定多个名称-值对。把名字用引号括起来。

输入参数

全部展开

名称-值对的观点

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“NumInputs”,2将模糊系统配置为有两个输入变量

FIS输入的个数,由逗号分隔的对组成“NumInputs”和一个非负整数。

每个FIS输入的隶属函数数,指定为逗号分隔对组成“NumInputMFs”一个正整数。

FIS输出的数量,由逗号分隔的对组成“NumOutputs”和一个非负整数。

每个FIS输出的成员函数数,指定为逗号分隔对组成“NumOutputMFs”一个正整数。

输入变量的成员关系函数类型,指定为逗号分隔对,由“MFType”,要么“trimf”(三角MF)或“gaussmf”(高斯MF)。对于每个输入变量,隶属函数均匀分布在变量范围内,在MF支持中约有80%的重叠。金宝app

输出成员函数设置为“不变”并且均匀分布在输出变量范围内。

用于自动添加规则的标志,指定为逗号分隔的对,由“AddRules”以及以下其中之一:

  • “allcombinations”——如果两NumInputsNumOutputs大于0时,创建包含所有输入成员函数组合的先行词规则。每个规则结果包含所有输出变量,并使用每个输出的第一个成员函数。

  • “没有”—创建一个无规则的FIS。

属性

全部展开

FIS名称,指定为字符串或字符向量。

与算子方法,用于将模糊化的输入值组合到模糊规则先行项中,具体为:

  • “刺激”-模糊输入值的乘积

  • “最小值”-模糊化输入值的最小值

  • 字符串或字符向量-在当前工作文件夹或MATLAB上的自定义AND函数的名称®路径

  • 函数句柄-自定义和函数在当前工作文件夹或MATLAB路径上

有关使用自定义函数的更多信息,请参见使用自定义函数构建模糊系统

有关模糊运算符和模糊推理过程的更多信息,请参见模糊推理过程

OR算子方法,用于将模糊化的输入值组合到一个模糊规则先行项中,指定为:

  • “probor”-模糊输入值的概率或。有关更多信息,请参见probor

  • “马克斯”—模糊化输入值最大值。

  • 字符串或字符向量-在当前工作文件夹或MATLAB路径上的自定义or函数的名称。

  • 函数句柄-自定义OR函数在当前工作文件夹或MATLAB路径上。

有关使用自定义函数的更多信息,请参见使用自定义函数构建模糊系统

有关模糊运算符和模糊推理过程的更多信息,请参见模糊推理过程

计算结果模糊集的蕴涵方法,规定为“刺激”.Sugeno系统总是使用“刺激”蕴涵方法,该方法利用前一结果值度量后一隶属函数。

有关暗示和模糊推理过程的更多信息,请参见模糊推理过程

用于组合规则结果的聚合方法,指定为“和”.Sugeno系统总是使用“和”聚合法,即结果模糊集的和。

有关聚合和模糊推理过程的更多信息,请参见模糊推理过程

从聚合的输出模糊集计算清晰输出值的去模糊化方法,具体如下:

  • “wtaver”—所有规则输出的加权平均值

  • “wtsum”—所有规则输出的加权和

有关使用自定义函数的更多信息,请参见使用自定义函数构建模糊系统

有关去模糊化和模糊推理过程的更多信息,请参见模糊推理过程

FIS输入变量,指定为向量fisvar对象。要添加和删除输入变量,请使用addInputremoveInput,分别。您可以使用点符号来修改输入变量的属性。

你也可以创建一个向量fisvar对象并将其赋值输入使用点符号。

属性可以向输入变量添加成员函数addMF函数。

FIS输出变量,指定为向量fisvar对象。要添加和删除输出变量,请使用addOutputremoveOutput,分别。

你也可以创建一个向量fisvar对象并将其赋值输出使用点符号。

属性将成员函数添加到输出变量addMF函数。

FIS输入变量,指定为向量fisrule对象。要添加模糊规则,请使用addRule函数。

你也可以创建一个向量fisrule对象并将其赋值规则使用点符号。

要删除规则,将相应的规则向量元素设置为[].例如,要从规则列表中删除第十条规则,输入:

fis.Rules (10) = [];

当属性值更改时禁用一致性检查的标志,指定为逻辑值。

默认情况下,当您更改属性的值时sugfis对象时,软件验证新属性值是否与其他对象属性一致。这些检查会影响性能,特别是在循环中创建和更新模糊系统时。

要禁用这些检查,可以更快地构建FIS,请设置DisableSturcturalChecks真正的

请注意

禁用结构检查可能导致无效sugfis对象。

要重新启用一致性检查,首先要验证您对FIS所做的更改是一致的,并生成有效的sugfis对象。然后,设置DisableSturcturalChecks.如果sugfis对象无效,重新启用一致性检查将产生错误。

对象的功能

addInput 为模糊推理系统添加输入变量
removeInput 从模糊推理系统中去除输入变量
addOutput 为模糊推理系统添加输出变量
removeOutput 从模糊推理系统中去除输出变量
addRule 为模糊推理系统添加规则
addMF 对模糊变量加入隶属函数
removeMF 删除模糊变量的隶属函数
evalfis 评价模糊推理系统
writeFIS 保存模糊推理系统到文件
convertToType2 将一类模糊推理系统转换为二类模糊推理系统

例子

全部折叠

创建具有默认属性值的Sugeno模糊推理系统。

fis = sugfis;

使用点符号修改系统属性。例如,配置金融中间人使用加权和去模糊化。

金融中间人。DefuzzificationMethod =“wtsum”

或者,您可以在创建模糊系统时指定多个FIS属性中的一个。例如,使用指定的AND和OR方法创建Sugeno模糊系统。

fis = sugfis (“AndMethod”“最小值”“OrMethod”“马克斯”);

创建一个Sugeno模糊推理系统,具有三个输入和一个输出。

fis = sugfis (“NumInputs”3,“NumOutputs”, 1)
fis = sugfis with properties: Name: "fis" AndMethod: "prod" OrMethod: "probor" ImplicationMethod: "prod" AggregationMethod: "sum" DefuzzificationMethod: "wtaver" Inputs: [1x3 fisvar] Outputs: [1x1 fisvar] Rules: [1x27 fisrule] DisableStructuralChecks: 0参数优化见' gettunlessettings ' method。

默认情况下,软件为每个可能的输入组合创建一个规则。

从文件加载Sugeno FIS。

fis = readfis (“sugeno1”);

输出变量有两个成员函数。查看第一个成员函数的属性。

.MembershipFunctions fis.Outputs (1) (1)
ans = fismf with properties: Type: "linear" Parameters: [-1 -1] Name: "line1"

查看第二个成员函数的属性。

.MembershipFunctions fis.Outputs (1) (2)
ans = fismf with properties: Type: "linear" Parameters: [1 -1] Name: "line2"

输入成员函数和规则定义了哪些输出函数以及何时表示。

金融中间人。规则
说明:_________________________________ 1 "input==low => output=line1 (1)"2 "input==high => output=line2 (1)"

绘制该系统的输入隶属函数。的隶属函数一般是指输入值小于零,而指向大于零的值。

plotmf (fis,“输入”, 1)

图中包含一个坐标轴。轴包含4个对象的类型行,文本。

绘制这个FIS的输出曲面。

gensurf (fis)

图中包含一个坐标轴。轴包含一个线型对象。

整个模糊系统的输出平滑地从被调用的线路切换line1到被呼叫的那条线

选择功能

应用程序

控件可以交互创建Sugeno FIS模糊逻辑设计去噪的设计师应用程序。然后,您可以将系统导出到MATLAB工作区。

介绍了R2018b