模糊查询表的设计_第1页
模糊查询表的设计_第2页
模糊查询表的设计_第3页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

模糊查询表的设计

0模糊查询表的生成模糊控制是基于模糊推理的智能控制的缩写。它利用模糊理论模拟人的思维方式,总结了操作员的经验,使用语言变量和模糊逻辑理论进行论证和决策,并控制复杂对象。模糊查询表是模糊控制器的一种离线对等表格,该表描述了输入的偏差、偏差变化量与控制的输出之间一一对应的关系。它通过事先将模糊论域内的输入值遍历而得到的相应输出值制作成表,从而可以在实际运行时代替实际的模糊控制器,能够大大节省运算的时间。利用模糊查询表可以方便地实现模糊控制在各种控制平台的应用,如单片机,可编程逻辑控制器(PLC),集散控制系统(DCS)等,因此,深刻理解模糊查询表的作用,并能熟练获取模糊控制器对应的模糊查询表对模糊控制器的实际应用和推广至关重要。为便于相关专业的本科生在在学习模糊控制时能够更加清晰深入地了解模糊查询表,进而拓展模糊控制在各种控制平台中的应用,本文对基于Matlab的模糊查询表生成方法进行详细的探讨与阐述,便于大家在日后应用中进行参考。基于Matlab的模糊查询表的生成方式有三种:逐个代入计算法、TOOL测试向量生成法和M文件编译法。本文将就这三种模糊查询表生成法作详细介绍。以简单的单回路控制系统为例,其被控对象为2/(5s+1)。设模糊控制输入的偏差E和偏差的变化EC的模糊论域为[-33],输出U的模糊论域为[-11]。现已利用Simulink搭建并定义运行完成该模糊控制系统仿真图,如图1所示。1模糊查询表的生成逐个代入计算法顾名思义就是将输入值逐个代入模块从而得到对应输出的一种方法。该方法是三个方法中最简单的一种。只需利用图1中定义好的模块(复制FuzzyLogicController模块),对应连接输入输出如图2所示。输入X和Y的定义域均为[-33],将X={-3,-2,-1,0,1,2,3}和Y={-3,-2,-1,0,1,2,3}分别取值,代入Constant模块,设定仿真终止时间为0.02,运行该Simulink模型,同时记录Display模块中的数值,将得到的值制作成表格,即为模糊查询表。本次运行生成的表格如表1所示。2在选取最佳文件时创建反渗透膜TOOL测试向量生成法同样是利用了图1中所定义好的模块(复制FuzzyLogicController模块),对应的输入输出连接如图3所示,命名为Test。两个输入模块Constant的值可以定义为A=0,B=0。在Test文件的菜单栏选择Tools→SystemTest...之后会跳出SystemTest界面,命名为T.test。选中MainTest在菜单栏选择Insert→TestElement→Simulink,再在出现界。Openamodel选择Test.mdl文件作为Simulinkmodel。在TestVectors新建TestVector1[-3∶1∶3].TestVector2[-3∶1∶3],当然,为了使模糊曲线更加光滑,步长可以缩短。在TestVariables新建的命名为Out。在如图4所示界面DefineModelOverrides选择NewMapping→SelectBlocktoadd...之后,会跳出Test.mdl文件界面,鼠标左键Constant,分别选择SimulinkData和SystemTestData相应的选项。同理新建Constant1。MapSimulinkDatatoTestVariables选择NewMapping→OutportSignal,同样分别选择SimulinkData和SystemTestData相应的选项(设置后的界面如图4所示)。选择SaveResults→NewMapping,设置相应选项。如图5所示。设置完毕后Run,需要等待一定的时间。运行结束Tools→TestResultsViewer绘制图像。在如图6所示界面设置XAxis和YAxis→Plot。绘制后的的图像如图7所示。保存图像,命名为Plot.mat。返回Matlab主界面,打开Plot.mat。在Workspace中选择stresults<1*1struct>→variable→Out就可以看到如图8所示矩阵。再次利用了图1中所定义好的模块(复制FuzzyLogicController模块),新建文件对应的输入输出连接如图9所示。鼠标左键双击LookupTable(2-D)模块,在出现的界面中输入如图10所示数据,点击Edit,立刻出现如图11所示LookupTables(2-D)模糊查询表。3模糊查询表的生成M文件编译法是相对来说比较深入的一种,它需要对模糊规则、模糊关系以及模糊输入输出有一定的知识储备。首先要定义输入的偏差和输入的偏差的变化量,分别为A、B,它们分别为13×13的矩阵,矩阵值由图1中FuzzyLogicController内所定义的模糊规则而定。关系矩阵根据事先定义的模糊控制规则得出。下述为通过M文件生成模糊查询表的具体程序与部分解析:由上述M语言程序运行后所得出的查询表如表2所示。为便于与逐个代入计算法和Tool工具生成法得到的查询表相对比,经整理,提取后得出如表3所示的简易查询表。4模糊查询表的分析上述为基于Matlab的三种生成模糊查询表的方法:逐个代入计算法、TOOL测试向量生成法和M文件编译法的简单探讨。其中,逐个代入计算法设计简单,但数值需要一个个手动输入,且得到的数值须人工填入预先设计的表格,从而得到模糊查询表,其实现效率低下。TOOL测试向量生成法直接利用Matlab现有的推理系统,在LookupTable(2-D)得到模糊查询表。但是该操作有一定的软件版本要求(如本文在Matlab2007版操作),版本过高的Matlab中无法通过TestResultsViewer绘制图像,导致无法得出相应的查询表。M文件编译法是从最基本的模糊查询原理出发,进行语言编译的一种方法。该方法要求应用者具备一定的编程基础。从三种方法得出的模糊查询表来对比分析,逐个代入计算法和TOOL测试向量生成法得出的模糊查询表结果一致,但与M文件编译法得出的模糊查询表有一定的偏差。这是因为逐个代入计算法和TOOL测试向量生成法得到的查询表都和测试向量的维数有关,当进一步细分输入论

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论