使用MATLAB模糊数据工具箱和simulink实现单交叉路口交通灯实时配时算法(二)

本文详细介绍如何使用Simulink建立模糊控制系统模型,并通过SystemTest进行自动化测试的过程。包括配置测试向量、映射输入输出及运行测试等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面

        在上一节中我们配置好了模糊数据,接上一节,本节中将着重介绍如何使用simulink建立一个Model并配合模糊数据进行System Test以及关于System Test的配置。

正文

        首先在MATLAB Command Window里输入simulink,以打开Simulink Library Browser,新建一个Model


Simulink Library Browser里分别找到In1,Mux, Fuzzy Logic Controller with Ruleviewer, Out1,将它们分别拖入新建的Model中(注意:本例需要添加两个In1,第二个In1添加后会自动重命名为In2),全部设置好后,如下图所示:

将这个Model存盘备用

接下来在MATLAB Command Window中输入systemtest,弹出Systemtest窗口,点击File-New Test来新建一个Test,

选中Main Test,点击 Insert-Test Element-Simulink来插入一个测试项目,完成后如图:


在Simulink model中设置之前保存的Model文件路径,切换到Test Vectors选项,点击New新增两个Vectors


分别设置两个Vector的名称和论域,Expression按照对应的论域设置,Expression中间的参数为步长,本例应设置为2



接下来在Test Variables新增一个测试变量,这里命名为Output


回到Main Test下的Simulink选项卡,按如图所示设置把两个Test Vector映射到Fuzzy Logic Controller的两个输入,把Test Variable映射到Fuzzy Logic Controller的输出(注意:设置Assign Model Outpus To SystemTest Data时需要先点击New Maping-Output Signal)


最后切换到Main Test下的Save Results,点击New Maping,添加Test Variable和Result的映射关系


回到MATLAB Command Window,输入命令fuzzy = readfis('Untitled2')将之前保存的模糊数据控制器加载到WorkSpace(这里不一定要用fuzzy作为名称,可以自行设置,Untitled2为之前保存的扩展名为.fis模糊数据控制器名称,大家要根据自己的命名来,不用带扩展名,如果出错请检查Path设置)


回到SystemTest,选择切换到Main Test下的Simulink,点击绿色的刷新图标


在新弹出的窗口中双击Fuzzy Logic Controller with Ruleviewer


在新弹出的窗口中设置FIS matrix为之前将模糊变量控制器存入WorkSpace所用名称,之前我用的fuzzy,所以这里填入fuzzy


之后在SystemTest中点击Run或者按快捷键F5即可运行测试(如果报错,再运行一次即可),经过一段说长不长说短不短的等待,121次迭代完成


回到MATLAB,可以看到我们的WorkSpace里增加了几项


打开stresults


ResultsDataSet即为运行结果,可以看出和我们的表5:绿灯延时模糊控制规则表是比较接近的


本节教程就到这里,下一节我将简单介绍如何将结果输出为更规范更直观的二维表格

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值