新版本matlab将模糊PID规则表导出离线查询表

前言

为了将仿真的模糊PID规则应用到硬件现实中去,需要把模糊PID规则表导出为离线查询表的模式,对于这个问题在很久之前就有人尝试解决过.

🚪:李会先.如何在MATLAB下把模糊推理系统转化为查询表(原创)

🚪:李会先.在SIMULINK里把模糊控制逻辑生成查询表(原创)

最先提出解决办法的就是上面这位老哥,但是文章目前已经不能查看(网易博客不运行了?!)但是网络上一直流行着大佬的传说,CSDN上有人搬运老哥的解决方法并在之基础上进行改进(应该是的吧,我也没有看到原文)

🚪:用MATLAB生成模糊控制离线查询表

🚪:如何利用matlab将模糊逻辑转化为查询表

上面的链接文章里面用的都是比较老版本的matlab/Simulink了,我找了好久他们文章里面说的Tools -> System Test -> Launch System Test,不论是在matlab里还是simulink里都没有找到System Test,然后我发现好像是新版本的matlab/Simulink都没有这个app了:

所以我在思考2016a版本后的matlab/Simulink如何完成模糊规则转化成离线查询表的操作呢?

下面我给出我的解决方法。


第一步

根据自己的模糊规则建立模糊规则库(就是一个.fis文件,样子如下图),由于我所需要的是模糊PID规则库,所以我建立两输入三输出的模糊规则库,保存模糊规则库。

第二步

建立如下图的simulink模型,在Fuzzy Logic Controller导入上一步建立的模糊规则库,设置仿真为固定步长,步长为0.01,仿真时间为1.69s(仿真169步,13×13),保存模型。

第三步

这一步就要用新的Test App了,为了达到和System Test差不多的效果,需要用到Simulink里面的Simulink Test App(如下图)。之所以能找到这个app,这里不得不感谢这位B站UP主的视频(🚪:使用SimuLink中TestManager进行单元测试),我强烈建议大家看完他的视频再进行操作。

 

点击它的Manager进入下图界面:

导入第二步建立的simulink模糊PID模型

如果是直接从simulink进来的可以直接使用current model,不然需要导入新模型

从excel建立KE和KEC两输入

为了获得类似于上图的模糊规则查询表,每一个输出(KP、KI、KD)需要有169组计算,表中的每一个数值需要由KEKEC这两个变量确定,只不过我只是把一个表格变成了两个列向量

后面按照图示操作,具体如何操作下面图片有文字说明。

建立输出对象  

 

后处理 

我是通过导出为mat文件,然后将结果复制到excel,用vlookup功能进行重新排表。(对于如何使用vlookup函数匹配两个条件我推荐这一篇文章🚪:Excel 多条件查找公式(VLOOKUP+CHOOSE)。下面是我其中KP的模糊规则离线查询表:

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hipipi39

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值