Matlab Fuzzy Toolbox 的认识与使用(7月6 ,7,8)

模糊控制器的设计

在模糊控制的设计中,利用matlab的中的模糊控制工具可以很方便地进行输入以及输出的变量的定义,云烟变量隶属函数的定义,模糊控制规则的定义及输入输出预览。它集成了FIS编辑器,隶属函数编辑器,模糊规则控制器,骨折浏览器和输出预览器的可视化工具。

FIS编辑器

在这里插入图片描述
FIS编辑器的界面入上图所示,设计这在该编辑器中设置模糊控制器的模糊算子,输入输出变量的个数,模糊变量的名称及解模糊化的方法。

隶属函数编辑器

输入模糊子集E的隶属函数

其中的Params是隶属函数曲线的参数
输入模糊子集Ec的隶属函数
在这里插入图片描述
输出模糊子集U的隶属函数
在这里插入图片描述
隶属函数的形状有多种选择,模糊子集的范围为都[-6 6],这与事前计算的量化因子和比例因子有关,而且模糊子集的语言描述届为{负大 负小 零 正小 正大}。具体功能请往下看;

模糊规则编辑

在这里插入图片描述
论域中有五个值,所以总共有7X7共49条规则。可以根据前面文章分享的模糊规则参数表
当规则正确输入后,选择view surface 可以查看模糊规则的三维坐标图;

在这里插入图片描述
这样就大概完成了fuzzy—control 的建立。以后可以在sim那里调用。

例子(7月7)

在这里插入图片描述
如图所示 :误差量化因子为0.1,误差变化量的量化因子是5,达到减少超调量的作用,然后是输出量的比例因子为-10,为什么是负呢,这与模糊控制器的设定有关,我觉得应该是表格上的输出的效果应该是指最后的输出——?。但是理解模糊控制器的规则还是一样的道理。
在这里插入图片描述
运行时间需要自行设置大一点(stop time = 1000)。
而且使用时,需要好模糊控制器的fis文件和simulink的文件的路径,否则无法读取模糊控制器。

系统的改进


常规的二维模糊控制器是以误差和误差变化为输入值,一般认为这种控制器具有模糊比例——微分控制作用,但是缺少了模糊积分作用,使得本身消除其系统稳态误差的能力比较差,难以达到较高的控制精度。
二 原因
是模糊控制器的输入量被模糊量化后而引起的控制器调节死区以及控制量的分档而引起的调节过粗,再加上缺少积分作用,属于一个粗糙控制器。然后前辈们就提出一个自调整规则因子模糊控制。
在这里插入图片描述

单调节因子

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

多调节因子

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

再次改进

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

自调整模糊控制器的调节模糊控制

设置一个自调整模糊控制器
首先这个自调整模糊控制器的输入为误差,误差变换。模糊控制器需要像前面一样自行设计,然后输出是调节因子。然后通过U=<aE+(1-a)EC>,这一条式子(通过乘法器实现),实际上这一条式子是调节Ke,Kec的,并没有直接调节Ku(不过有的自调整控制器会对它进行调整)。
这种模式下需要调节ke kec ku 【ke1 ke2(自调整模糊控制器参数)】五个值。而且这次的隶属函数的曲线与前面有所区别,所以会有误差。

自调整因子控制规则表

在这里插入图片描述
在这里插入图片描述
值得注意的是,输入E和Ec的模糊子集的论域都是不变的。
在这里插入图片描述
在这里插入图片描述
输出的调节因子的论域为[0 1],与真实所希望的值的(基本论域)是一样的,所以这里可以省略比例因子。按照上面的步骤便可以完成自调节因子模糊控制器。
在这里插入图片描述
然后在示波器
在这里插入图片描述
由于之前设计的时候使用的隶属函数曲线不一样,所以并没有看到新的曲线的性能全面压制住旧的曲线,但是可以看到,新的曲线的上升时间加快,动态反应时间加快。这也说明了有改善。
在这里插入图片描述
在改正一样后发现,还是差不多的图像走向。
为什么原先的图会没有超调量的发生,是因为误差变化的量化因子大,遏制住了。
但由于新的模式的控制器的两个输入值都乘以一个小数,也就是都减少了。
相当于调节后,ke减少了——上升时间变短;Kec减少了——超调量有一点点上升。
我觉得还能再对新的模式的控制再调节一样,减少超调量。

结束

  • 2
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matlab是一种常用的科学计算软件工具,提供了丰富的功能和工具包,可以用于各种科学计算和数据分析任务。其中,Matlab Fuzzy ToolboxMatlab中的一个模糊逻辑工具箱,它提供了用于模糊逻辑建模和控制系统设计的函数和工具。 在Matlab Fuzzy Toolbox中,Sugeno模糊控制器是一种常用的模糊控制方法。Sugeno模糊控制器采用模糊逻辑和规则来处理输入和输出之间的关系。它的输入是一组模糊变量,每个输入变量都定义了一组模糊集。模糊集是由一组模糊隶属函数描述的,这些函数指示了一个输入变量在对应的模糊集中的隶属度。 Sugeno模糊控制器的规则是通过定义一组模糊规则来完成的。这些规则描述了输入和输出之间的关系。每条规则由一个条件部分和一个结论部分组成。条件部分是一组输入模糊集和对应的隶属度值,用于确定规则的激活程度。结论部分是一个输出变量和一组线性函数,用于计算输出变量的值。 在Matlab Fuzzy Toolbox中,可以使用一系列函数来定义和操作Sugeno模糊控制器。例如,可以使用"Fuzzy"函数创建模糊集,并使用"addMF"函数添加隶属函数。可以使用"newfis"函数创建一个新的模糊推理系统,并使用"addrule"函数添加模糊规则。可以使用"evalfis"函数对输入进行模糊推理,并使用"defuzz"函数对输出进行去模糊。 总而言之,Matlab的模糊工具箱提供了一种方便和强大的方式来进行模糊逻辑建模和控制设计。Sugeno模糊控制器是其中一种常用的模糊控制方法,可以通过定义和操作模糊集、模糊规则以及进行模糊推理和去模糊来实现对输入和输出之间的关系建模和控制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值