使用模糊逻辑构建模糊系统设计师
这个例子展示了如何交互式地创建一个1型Mamdani模糊推理系统(FIS)中定义的小费问题解决模糊与Nonfuzzy逻辑。对于这个问题,引爆行为定义使用以下三个规则。
如果服务很差或腐臭的食物,然后是便宜的。
如果服务是好的,那么建议是平均水平。
如果服务很好或食物是美味的,技巧是慷慨的。
虽然这个例子创建了一个1型Mamdani FIS,一般方法适用于创建2型和Sugeno系统。更多信息在不同类型的模糊系统中,看到的Mamdani和Sugeno模糊推理系统和2型模糊推理系统。
更多信息在命令行构建FIS,明白了在命令行构建模糊系统。
对于本例,您从头构建一个翻斗FIS。或者,您可以加载的系统tipper.fis
文件。为此,使用下面的命令。
fuzzyLogicDesigner (“tipper.fis”)
创建FIS结构
构建FIS自己,第一次打开应用。应用程序选项卡,在控制系统设计与分析,点击应用程序图标。
应用程序打开一个开始对话框。创建初始FIS的选项的更多信息结构,明白了开始使用模糊逻辑设计师。
对于这个示例,因为你创建一个1型Mamdani系统两个输入和一个输出,您可以使用一个内置的模板作为一个起点。这样做:
因为您将定义的规则你手动FIS,清除自动生成规则复选框。
下模板模糊推理系统中,选择Mamdani 1型。
FIS应用程序创建模板和加载应用程序。
在属性编辑器部分中,您可以指定FIS的名称及其推理方法。对于这个示例,使用默认的推理方法。可用的推理方法的更多信息,见模糊推理过程和模糊逻辑的基础。
在的名字字段中,输入名称给小费的人
。
定义输入变量
对于这个示例,FIS的模板已经有两个输入变量。在系统浏览器部分中,点击输入。这个应用程序显示了输入变量的属性属性编辑器。
在属性编辑器为每个输入变量,定义以下属性。
的名字——输入变量的名字。在这个例子中,第一个输入名称
服务
第二个输入食物
。范围-输入变量的范围内。在这个例子中,两个输入额定等级从0到10。因此,指定每个变量范围
10 [0]
您可以添加更多的输入变量是否需要为您的应用程序。这样做,设计选项卡,添加组件画廊,点击输入。
定义输出变量
对于这个示例,FIS的模板已经有一个输入变量。在系统浏览器部分中,点击输出。这个应用程序显示的输出变量的属性属性编辑器。
在属性编辑器输出变量,定义以下属性。
的名字——输出变量的名字。对于这个示例,输出变量的名字
提示
。范围-输出变量的范围内。对于这个示例,指定输出变量范围
30 [0]
您可以添加输出变量是否需要为您的应用程序。为此,在添加组件画廊,点击输出。
定义隶属度函数
添加或删除给定变量的隶属度函数,选择的变量系统浏览器或单击变量模糊推理系统文档。例如,选择食物输入变量。在属性编辑器,程序显示输入变量的隶属函数属性。
默认情况下,模板添加三个每个变量的隶属度函数。对于这个示例,服务输入变量和提示输出变量都需要三个隶属度函数。
然而,食物需要两个隶属函数的变量。删除默认的隶属度函数之一,系统浏览器下,食物右键单击并选择的隶属函数删除。
您可以添加成员函数给定变量是否需要为您的应用程序。为此,在添加组件画廊,点击曼氏金融。
编辑隶属函数属性,系统浏览器,选择相对应的隶属函数或变量。然后,在属性编辑器,指定以下隶属函数属性。
的名字——隶属函数的名字
类型——隶属函数类型
参数——隶属函数参数
查看给定变量的隶属度函数,选择的变量系统浏览器并打开隶属函数编辑器文档。下图显示的隶属度函数服务输入变量。
配置的隶属度函数服务输入使用属性如下图所示。
同样,配置的属性食物输入变量。
最后,定义的隶属度函数提示输出。
定义成员函数的更多信息,请参阅使用模糊逻辑设计师定义隶属度函数。
定义规则库
一旦你定义的变量和成员函数FIS,您可以定义的if - then规则库系统。
对于这个示例,使用以下规则。
如果服务很差或腐臭的食物,然后是便宜的。
如果服务是好的,那么建议是平均水平。
如果服务很好或食物是美味的,技巧是慷慨的。
打开规则编辑器文档。
添加规则,点击。应用程序添加一个规则中的规则表,显示了规则属性属性编辑器。
第一条规则,修改规则属性如果服务很差或腐臭的食物,然后是便宜的。
设置连接参数或。
为服务输入,选择
可怜的
随着语言学术语。为食物输入,选择
令人作呕的
随着语言学术语。为提示输出,选择
便宜的
随着语言学术语。
同样,添加下一条规则如果服务是好的,那么建议是平均水平。这条规则:
为服务输入,选择
好
随着语言学术语。为提示输出,选择
平均
随着语言学术语。因为这规则只有服务输入在前期,忽略了食物输入通过设置其语言学术语
没有一个
。
最后,添加规则如果服务很好或食物是美味的,技巧是慷慨的。这条规则:
设置连接参数或。
为服务输入,选择
优秀的
随着语言学术语。为食物输入,选择
美味的
随着语言学术语。为提示输出,选择
慷慨的
随着语言学术语。
视图中的最后一个规则库规则编辑器。
指定规则的FIS的更多信息,见使用模糊逻辑设计师定义模糊规则
分析设计
一旦你定义你的规则库,你可以分析你的设计使用下列文件。
规则推理——指定输入值并查看推理图和生成的输出值。
控制面——情节的输出值两个输入变量的组合。
系统验证——从每个FIS比较输出设计测试数据与相应的输出值。
误差分布——对于一个给定的FIS设计和测试数据,查看输出错误输入的不同组合。
FIS分析方法的更多信息,请参阅使用模糊逻辑分析模糊系统设计师。
对于这个示例,分析FIS使用规则推理和控制面文档。打开文档,在设计选项卡,点击相应的图标模拟画廊。
规则推理
在规则推理文档,您指定为输入变量值,检查推理过程,并查看生成的输出值。
例如,考虑一下这种情况:服务很差(1/10),但是食物很好(9/10)。指定这些输入值使用输入值参数。或者,您可以拖动在推理图输入酒吧。
低服务评级导致第一个规则火燃烧强度高和高食品评级导致第三个规则火燃烧强度高。当聚合生成的输出隶属度函数和defuzzified,最后提示值15.2%。
模糊推理的更多信息,请参阅模糊推理过程。
控制面
的控制面文档显示FIS的输出值为两个输入变量的所有可能的组合。对于这个示例,情节展示了所有服务和食品评级的提示值组合。
存储和修改设计
可以存储多个FIS设计的应用程序,它允许您探索可能的设计选择。所有存储设计必须有相同数量的输入和相同数量的输出。
一个共同的设计选择探索Mamdani系统转换为Sugeno系统。一般来说,Sugeno系统计算效率更高,这是一个部署FIS时重要的考虑因素。
将FIS Sugeno系统,设计选项卡上,选择Mamdani, Sugeno。
在设计浏览器部分,应用程序创建一个Sugeno版本的金融中间人tipper_1
。
为了活跃的设计,选择设计表中,然后单击设置活动设计。
你也可以手动存储当前FIS的副本设计浏览器。这样做,设计选项卡上,选择存储当前的设计。
然后可以分析替代设计以同样的方式作为第一个设计。
情节的Sugeno系统控制面文档类似于情节Mamdani系统。
使用规则推理文档中,您可以看到,对于相同的服务和食品评级,Sugeno系统生成一个16.1%的小费,这是类似于Mamdani系统15.2%的小费。
出口FIS
一旦你设计你的FIS使用模糊逻辑设计,您可以导出活跃MATLAB和存储设计®工作区为进一步模拟和部署。
向MATLAB工作区,出口FIS的设计模糊逻辑设计中,选择出口>模糊推理系统出口到工作区。
模糊推理系统出口到工作区对话框列出了活动FIS设计以及任何存储设计。
在出口列,选择一个或多个系统,你想出口。
在出口的列,指定工作空间变量的名称。
点击出口。
MATLAB的应用节省FIS工作区。
在出口和储蓄FIS的更多信息,参见出口FIS从模糊逻辑设计和仿真数据。