[MATLAB]初探模糊推理系统-MyFIS

所需工具

MATLAB是进行科学研究常用软件,上面也搭载了很多常用的APP。虽然本人科研99%时间都是用Python,但因课程需要,也初步摸索以备后用。(下面开始菜鸟级表演)
1. Simulink
该工具是建立仿真系统的必备工具,一般下载安装MATLAB时会默认(大概会)安装。在命令窗口键入simulink开启,界面如图:
在这里插入图片描述

2. Fuzzy Logical Designer
该工具是建立模糊推理系统的必备工具,在命令窗口键入fuzzy开启,界面如图:
在这里插入图片描述
By the way,如果没有安装上述两个包,无需再重新下载MATLAB重选一次,在这里可以下载并安装。
在这里插入图片描述
工具有了,就可以开工了!以一个3阶系统为例。

FIS-Fuzzy Logical Designer

首先,我们要确定模糊推理系统(Fuzzy inference system, FIS)的输入输出以及模糊规则等。这里,我以误差 e e e、误差变化率 d e de de 为输入,经过FIS得到控制输出 u u u

在这里插入图片描述

Rules

Part of the Rules 见下表:

NBNMNSNZPZPSPMPB
PBPBPMNMNMNMNLNBNB
PMPBPMNMZ
PSPBPMNSZ
ZPBPMPSZ
NS
NM
NB

Input & Output

一些默认参数,一般不需修改。
在这里插入图片描述
目前界面锁定在Input, 可以通过点击Edit->Add Variable来添加输入变量;点击蓝色output同样可以添加变量。直接在Name修改变量名;Edit->Membership Function定义隶属函数,可以对每个隶属函数进行编辑,也可以在Edit->Add MFs一次性输入多个MF,默认为三角隶属函数,注意: Params、Range要定义,别忘了对output隶属函数进行定义。
在这里插入图片描述
返回FIS首界面,Edit->Rules定义模糊规则。这个比较麻烦,不像MF还可以一次定义多个,一个 e e e d e de de对应一个 u u u,再点击Add rule就完成了一步,然后一个一个对应吧(本人未找到其他lazy方法)。
在这里插入图片描述
最后需要定义去模糊化方法:Defuzzification. 聪明的你一定发现了,该选择在FIS首页界面下方,默认方法为重心法Centroid,可改选。然后,File->Export->To File/Workspace,建议To File,先保存到本地磁盘,然后再输出到工作区以备接下来Simulink使用。

搭建仿真系统-Simulink

从首界面点击Blank Model,新建model。点击设置按钮旁边的Library Browser进行组件选择,在收缩框内输入名称即可,拖拽组件到主界面进行系统搭建。此处,在 e e e d e de de u u u后分别放置了三个scope用以观察输出值大小,因为前面设置了range,所以需要保证输出值在输入范围内。比如 e e e的输出值在-10~10之间变化,但是range为[-1, 1],所以在其后加入一个比例为0.1的gain组件,其他同理。元件Fuzzy Logic Controller with Ruleviewer里面需要定义FIS,也就是你export到workspace里面的FIS文件的变量名字。然后在Simulation里面的configuration里面修改一个地方:Algorithm-Adaptive.
最后便是一些调参(比例系数等等)工作,同时观察示波器的输出,看超调量、上升时间、稳态误差是否符合要求啦!

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

结果展示:

FIS工作
在这里插入图片描述
Output
在这里插入图片描述
e
在这里插入图片描述完结,睡觉 zzzzzz

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值