MATLAB 模糊设计器 构建 模糊系统

系列文章目录


文章目录

  • 系列文章目录
  • 前言
  • 一、创建 FIS 结构
  • 二、定义输入变量
  • 三、定义输出变量
  • 四、定义成员函数
  • 五、定义规则库
  • 六、设计分析
  • 七、存储和修改设计
  • 八、导出 FIS
  • 总结


前言

本例演示如何使用 Fuzzy Logic Designer 应用程序交互式创建 1 型 Mamdani 模糊推理系统(FIS)。

R2022b 之前:如本例所示,使用上一版本的 Fuzzy Logic Designer 应用程序交互式创建 1 型 FIS。

在本例中,您将创建一个 FIS 来解决模糊逻辑与非模糊逻辑中定义的倾覆问题。小费行为是通过以下三条规则定义的。

  1. 如果服务差或食物变质,则小费便宜。

  2. 如果服务良好,则小费一般。

  3. 如果服务出色或食物美味,则小费丰厚。

本例创建的是 1 型 Mamdani 模糊推理系统,所使用的一般方法也适用于创建 2 型和 Sugeno 系统。有关不同类型模糊系统的更多信息,请参阅 Mamdani 和 Sugeno 模糊推理系统以及 2 型模糊推理系统。

您还可以使用模糊逻辑设计器交互式创建 FIS 树。有关示例,请参阅使用模糊逻辑设计器构建 FIS 树。

有关在命令行下构建 FIS 的更多信息,请参阅在命令行下构建模糊系统。

在本例中,您将从头开始构建一个给小费 FIS。或者,也可以从 tipper.fis 文件加载系统。为此,请使用以下命令。

fuzzyLogicDesigner("tipper.fis")

一、创建 FIS 结构

要自行构建 FIS,首先要打开应用程序。在 "应用程序 "选项卡的 "控制系统设计与分析 "下,单击应用程序图标。

应用程序将打开 "入门 "对话框。有关创建初始 FIS 结构选项的更多信息,请参阅《模糊逻辑设计器入门》。

在本例中,由于您要创建的是具有两个输入和一个输出的 1 型 Mamdani 系统,因此可以使用内置模板作为起点。具体方法如下

由于您是手动定义模糊推理系统的规则,因此请清除自动生成规则复选框。

在模板模糊推理系统下,选择 Mamdani Type-1。

在这里插入图片描述

应用程序创建 FIS 模板并将其加载到应用程序中。

在这里插入图片描述

在 "属性编辑器 "窗格中,您可以指定 FIS 的名称及其推理方法。本例中使用默认推理方法。有关可用推理方法的更多信息,请参阅《模糊推理过程》和《模糊逻辑基础》。

在名称字段中,输入 tipper 名称。

二、定义输入变量

在本例中,模板 FIS 已经有两个输入变量。在 "系统浏览器 "窗格中,单击 “输入”。应用程序会在属性编辑器中显示输入变量的属性。

在这里插入图片描述

在属性编辑器中,为每个输入变量定义以下属性。

  • Name - 输入变量名称。在本例中,命名第一个输入服务和第二个输入食物。

  • Range - 输入变量范围。在本例中,两个输入变量的评分范围都是从 0 到 10。因此,请将每个变量的范围指定为 [0 10]。

在这里插入图片描述

如果应用程序需要,您可以添加更多输入变量。为此,请在 "设计 "选项卡的 "添加组件 "图库中单击 “输入”。

在这里插入图片描述

三、定义输出变量

在本例中,模板 FIS 已经有一个输出变量。在系统浏览器窗格中,单击输出。应用程序会在属性编辑器中显示输出变量的属性。

在属性编辑器中,为输出变量定义以下属性。

  • Name - 输出变量名称。本例中,将输出变量命名为 tip。

  • Range - 输出变量范围。在本例中,指定输出变量范围为 [0 30]。

在这里插入图片描述

如果您的应用程序需要输出变量,您可以添加这些变量。为此,请在 "添加组件 "图库中单击 “输出”。

在这里插入图片描述

四、定义成员函数

要添加或删除给定变量的成员函数(MF),请在系统浏览器中选择该变量或在模糊推理系统文档中点击该变量。例如,选择食物输入变量。在属性编辑器中,应用程序会显示输入变量和成员函数的属性。

在这里插入图片描述

默认情况下,模板会为每个变量添加三个成员函数。在本例中,服务输入变量和小费输出变量都需要三个成员函数。

但是,食物变量需要两个成员函数。要删除其中一个默认成员函数,请在系统浏览器的食物下右键单击该成员函数并选择删除。

在这里插入图片描述

如果应用程序需要,您可以为给定变量添加成员函数。为此,请在添加组件库中单击 MF。

在这里插入图片描述

要编辑成员函数属性,请在系统浏览器中选择成员函数或相应变量。然后,在属性编辑器中指定以下成员函数属性。

  • Name - 成员函数名称

  • Type - 成员函数类型

  • Parameters - 成员函数参数

要查看给定变量的成员函数图,请在系统浏览器中选择变量并打开成员函数编辑器。下图显示了服务输入变量的成员函数。

使用图中显示的属性配置服务输入的成员函数。

在这里插入图片描述

同样,配置食物输入变量的属性。

在这里插入图片描述

最后,定义尖端输出的成员函数。

在这里插入图片描述

有关定义成员函数的更多信息,请参阅使用模糊逻辑设计器定义成员函数。

五、定义规则库

为 FIS 定义变量和成员函数后,就可以为系统定义 "如果-那么 "规则库了。

在本例中,使用以下规则。

  1. 如果服务差或食物变质,则小费便宜。

  2. 如果服务良好,则小费一般。

  3. 如果服务出色或食物美味,则小费丰厚。

打开规则编辑器文档。

在这里插入图片描述

要添加规则,请单击加号图标。应用程序会将规则添加到规则表中,并在属性编辑器中显示规则属性。

在这里插入图片描述
修改第一条规则的属性:如果服务差或食物馊了,则小费便宜。

  1. 将 "Connection "参数设置为 “Or”。

  2. 对于 service 输入,选择 "poor "作为语言术语。

  3. 对于 food 输入,选择 rancid 作为语言术语。

  4. 对于 tip 输出,选择 cheap 作为语言术语。

在这里插入图片描述

同样,添加下一条规则:如果服务很好,那么小费就是平均值。对于这条规则

对于 service 输入,选择 good 作为语言术语。

对于 tip 输出,选择 average 作为语言术语。

由于这条规则的前件只有 service 输入,因此忽略 food 输入,将其语言项设置为 “none”。

最后,添加第三条规则:如果服务很好或食物很美味,那么小费就会很丰厚。对于这条规则

将 " Connection "参数设置为 " Or "。

对于 service 输入,选择 Excellent 作为语言术语。

对于 food 输入,选择 delicious 作为语言术语。

对于 tip 输出,选择 generous 作为语言术语。

在规则编辑器中查看最终规则库。

在这里插入图片描述

有关为 FIS 指定规则的更多信息,请参阅使用模糊逻辑设计器定义模糊规则。

六、设计分析

定义规则库后,您可以使用以下文档分析您的设计。

  • Rule Inference 规则推理 - 指定输入值并查看推理图和结果输出值。

  • Control Surface 控制面 - 绘制两个输入变量所有组合的输出值。

  • System Validation 系统验证 - 将每个 FIS 设计的输出值与测试数据中的相应输出值进行比较。(自 R2023a 版起)

  • Error Distribution 误差分布 - 对于给定的 FIS 设计和测试数据,查看不同输入组合的输出误差。(自 R2023a 版起)

有关 FIS 分析方法的更多信息,请参阅使用模糊逻辑设计器分析模糊系统。

在本例中,使用 Rule Inference 和 Control Surface 文档分析 FIS。要打开任一文档,请在 "Design "选项卡上单击 " Simulation "图库中的相应图标。

在这里插入图片描述

规则推理

在 "规则推理 "文档中,您可以指定输入变量的值,检查推理过程,并查看结果输出值。

例如,考虑服务很差(1/10)但食物很好(9/10)的情况。使用输入值参数指定这些输入值。或者,您也可以在推理图中拖动输入条。

在这里插入图片描述

服务评级低会导致第一条规则以高触发强度触发,食品评级高会导致第三条规则以高触发强度触发。对输出的成员函数进行汇总和模糊化处理后,最终的小费值为 15.2%。

有关模糊推理的更多信息,请参阅模糊推理过程。

Control Surface 控制面

Control Surface 文档显示了两个输入变量所有可能组合的 FIS 输出值。在本例中,该图显示了所有服务和食物等级组合的小费值。一般来说,当食物和服务输入均接近 0 时,小费值较低 (5%),而当食物和服务输入均接近 10 时,小费值较高 (25%)。

在这里插入图片描述

七、存储和修改设计

您可以在应用程序中存储多个 FIS 设计,从而探索可能的设计方案。所有存储的设计必须具有相同数量的输入和相同数量的输出。

一个常见的设计方案是将 Mamdani 系统转换为 Sugeno 系统。一般来说,Sugeno 系统的计算效率更高,这也是部署 FIS 时的一个重要考虑因素。

要将 FIS 转换为 Sugeno 系统,请在 "设计 "选项卡上选择 “从 Mamdani 到 Sugeno”。

在这里插入图片描述
在 "设计浏览器 "窗格中,应用程序会创建一个名为 tipper_1 的 Sugeno FIS 版本。

在这里插入图片描述

要使该设计处于活动状态,请在表格中选择该设计,然后单击设置活动设计。

您也可以在设计浏览器中手动存储当前 FIS 的副本。为此,请在 "设计 "选项卡上选择 “存储当前设计”。

在这里插入图片描述

然后,您可以用与第一种设计相同的方式分析替代设计。

控制面文件中的 Sugeno 系统曲线图与 Mamdani 系统曲线图相似

在这里插入图片描述

使用 "规则推理 "文档,您可以看到,对于相同的服务和食物评级,Sugeno 系统产生的小费为 16.1%,与 Mamdani 系统产生的 15.2% 的小费相似。使用 "规则推理 "文档,您可以看到,对于相同的服务和食物评级,Sugeno 系统产生的小费为 16.1%,与 Mamdani 系统产生的 15.2% 的小费相似。

在这里插入图片描述

八、导出 FIS

使用 Fuzzy Logic Designer 设计 FIS 后,可以将活动和存储的设计导出到 MATLAB® 工作区,以便进一步模拟和部署。

要将 FIS 设计导出到 MATLAB 工作区,请在 Fuzzy Logic Designer 中选择导出 > 将模糊推理系统导出到工作区。

在这里插入图片描述

导出模糊推理系统到工作区 "对话框会列出活动的模糊推理系统设计和任何已存储的设计。

在这里插入图片描述

在 Export(导出)栏中,选择要导出的一个或多个系统。

在 "导出为 "列中,指定工作区变量的名称。

单击导出。

应用程序会将 FIS 保存到 MATLAB 工作区。

有关导出和保存 FIS 的更多信息,请参阅从 Fuzzy Logic Designer 导出 FIS 和仿真数据。


总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/186075.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(免费)双相情感障碍筛查MDQ 在线测试双向情感障碍

MDQ用于筛查双相障碍,主要包含13个关于双相障碍症状的是非问题,当前测试采用的量表为2010年杨海晨博士翻译版。该量表为目前世界范围内最常用的双相障碍筛查量表,目前在精神科门诊最为常用的量表之一。 双向情感障碍筛查量表,也叫…

JVM虚拟机:垃圾回收器ZGC和Shenandoah算法

随着计算机技术的不断发展,内存管理成为了一个重要的话题。垃圾回收是一种自动内存管理技术,它可以自动地回收不再使用的内存,从而减少内存泄漏和程序崩溃的风险。在Java等高级编程语言中,垃圾回收器是必不可少的组件。近年来,ZGC和Shenandoah算法作为新一代的垃圾回收器,…

map和set的简易封装(纯代码)

RBTree.h #pragma once#include<iostream> #include<vector> using namespace std;enum colar { red,black };template<class T>//有效参数就一个 struct RBTreeNode {RBTreeNode(const T& data):_left(nullptr), _right(nullptr), _parent(nullptr)…

千兆光模块和万兆光模块需要注意哪些事项

随着网络通信技术的发展&#xff0c;千兆光模块和万兆光模块已经成为了网络设备中不可或缺的关键组件。光模块的制造涉及到许多技术和工艺问题&#xff0c;需要严格的控制和管理。本文将从工艺流程、材料选用、测试认证等方面&#xff0c;详细介绍制造千兆光模块和万兆光模块需…

储能领域 / 通讯协议 / 技术栈 等专有名字集锦——主要收集一些储能领域的专有名词,以及相关的名词

目录 名词解释ModbusIOT设备通讯协议 CAN/ RS-485 储能术语电池管理系统BMS电池储能系统相关概念&#xff0c;总控&#xff0c;主控&#xff0c;从控 电池相关知识拆解电池的构成逆变器 电池核心参数SOC 电池剩余容量 名词解释 英文中文biz layer业务层与业务层通信的服务CRC循…

【MySQL8】1130 - Host *** is not allowed to connect to this MySOL server

问题描述 使用 Navicat 连接 MySQL8 报错&#xff1a; 1130 - Host *** is not allowed to connect to this MySOL server解决方案 use mysql;select host ,user from user; -- 将 root 用户的主机&#xff08;host&#xff09;值修改为 %&#xff0c;即允许从任何主机连接 …

Kubernetes学习-概念2

参考&#xff1a;关于 cgroup v2 | Kubernetes 关于 cgroup v2 在 Linux 上&#xff0c;控制组约束分配给进程的资源。 kubelet 和底层容器运行时都需要对接 cgroup 来强制执行为 Pod 和容器管理资源&#xff0c; 这包括为容器化工作负载配置 CPU/内存请求和限制。 Linux 中…

叙永微公益:开展“活水计划-益童成长守护”周末陪伴活动

&#xff08;韩熙 林梅图/文&#xff09;2023年11月12日&#xff0c;叙永县微公益协会的志愿者们早早地驱车前往县内的孤困儿童家庭&#xff0c;与他们共同度过一个充实而温馨的周末。志愿者们不仅为孩子们带来了生活物资、零食、玩具等礼物&#xff0c;更重要的是&#xff0c;…

虾皮店铺所有商品数据接口(shopee.item_search_shop)

虾皮店铺所有商品数据接口可以提供丰富的电商数据&#xff0c;包括商品数据、订单数据、会员数据、评价数据等。以下是具体的介绍&#xff1a; 商品数据&#xff1a;虾皮提供了商品的基本信息&#xff0c;包括商品名称、描述、规格、价格、销量、库存等信息。此外&#xff0c;…

开源电子画册源码系统 可重复利用 适合任何行业 带完整的搭建教程

电子画册&#xff0c;又称电子样本、电子商刊、电子杂志&#xff0c;是一种集合图片处理、文案策划、音乐加工、视频、统计调查、虚拟现实、三维动画等多种技术和表现形式为一体的多媒体画册&#xff0c;电子杂志是纸质印刷画册&#xff08;样本&#xff09;的升级版本&#xf…

idea一键打包docker镜像并推送远程harbor仓库的方法(包含spotify和fabric8两种方法)--全网唯一正确,秒杀99%水文

我看了很多关于idea一键打包docker镜像并推送harbor仓库的文章&#xff0c;不论国内国外的&#xff0c;基本上99%都是瞎写的&#xff0c; 这些人不清楚打包插件原理&#xff0c;然后就是复制粘贴一大篇&#xff0c;写了一堆垃圾&#xff0c;然后别人拿来也不能用。 然后这篇文…

GAT里面的sofamax函数的实现:

1.sofamx 公式&#xff1a; 2. GAT里的sofamax函数的实现&#xff1a; 1. 因为指数在x轴正轴爆炸式地快速增长&#xff0c;如果zi比较大&#xff0c;exp⁡(zi)也会非常大&#xff0c;得到的数值可能会溢出。溢出又分为下溢出&#xff08;Underflow&#xff09;和上溢出&#x…