从系列:开始与模糊逻辑工具箱
Arkadiy Turevskiy, MathWorks
使用模糊逻辑工具箱™设计模糊逻辑系统。
模糊逻辑工具箱提供图形用户界面、MATLAB函数和Simulink模块,用于设计和仿真模糊逻辑系统。万博1manbetx模糊逻辑什么时候有用?当您在开发系统模型和非线性控制器时,当精确的定义和边界不存在或过于严格时,它非常有用。
让我们来看一个例子。在这个简单的演示中,我们将构建一个模糊逻辑系统来解决这里所示的小费问题,即根据服务质量和食物质量来为餐厅的服务员确定适当的小费比例。在美国,平均小费是15%,但根据食物和服务质量的不同而有所不同。所以我们想要的是在两个输入之间建立一个映射——食物的质量和服务的质量——和输出——小费的数量。
您希望创建类似于这里所示的映射。当食物和服务都很好的时候,小费应该是大方的,当食物和服务都很好的时候,小费应该是低的,当食物和服务都很差的时候,小费应该是中间平坦的地方,大约是15%,这是平均小费比例。首先,让我们看看如果我们不使用模糊逻辑工具箱,如何用非模糊方法解决这个问题。
我们在这里看到的是我们需要写的MATLAB代码。它创造了我们在之前的幻灯片中看到的分段线性曲面。这个代码是参数化的,所以我们可以很容易地改变我们对好的和坏的定义,食物和服务,以及便宜和慷慨的小费的数量。
我们看到报价很难理解,可能很难修改和维护。通过注释可以更容易地理解它。如果您可以使用这些注释中描述的规则来直接设计逻辑,那会怎么样呢?
这就是模糊逻辑和模糊逻辑工具箱的用武之地。这就是我们有三个简单的规则。模糊逻辑是一个很好的解决方案因为它更容易用简单的语言规则来表达答案,如图所示。在MATLAB中不使用模糊逻辑工具箱是很难实现的。代码难于理解,难于维护和更改。
在这个演示中,我们将从头设计并模拟这个模糊逻辑系统。在这个过程中,你会看到模糊逻辑工具箱的各种重要功能。我们将通过四个基本步骤来建立和模拟一个模糊逻辑系统。
首先,定义输入和输出。第二,强大的会员功能。第三,创建规则。最后,对所得到的模糊逻辑系统进行仿真。
所有这些步骤都可以通过使用模糊逻辑命令行函数来完成。然而,使用图形用户界面通常更方便。这就是我们要做的。
现在我们转到MATLAB。在MATLAB命令行输入Fuzzy,启动Fuzzy Logic Toolbox。这是我们将在演示中看到的五个图形用户界面中的第一个——FIS编辑器,它代表模糊推理系统。
FIS编辑器处理系统的高级问题,比如输入和输出变量的数量和变量名。模糊逻辑工具箱不限制输入或输出的数量。正如我们看到的,这个例子有两个输入和一个输出。
让我们从定义这两个输入和一个输出开始。默认情况下,我们有一个输入和一个输出。所以我们要添加一个新的输入变量,我们要定义输入和输出。
首先是服务质量。我们称之为服务。第二个产出是食品质量。我们称之为食物。
输出是小费的百分比。我们叫它tip。好的。
这个系统图显示了系统的名称和使用的推理类型。我们看到这个系统现在还没有命名。保存一下。为此,我们会去File,菜单,导出到File。
然后保存到文件tipper_demo中。现在我们看到了系统的名字。在这个区域中,我们可以看到弹出菜单,用于调整模糊推理功能,如和方法、或方法和去模糊化方法。我们将保留所有这些值的默认值。这里的状态行描述了最新的声明。