第4章模糊控制的matlab实现.ppt_第1页
第4章模糊控制的matlab实现.ppt_第2页
第4章模糊控制的matlab实现.ppt_第3页
第4章模糊控制的matlab实现.ppt_第4页
第4章模糊控制的matlab实现.ppt_第5页
免费预览已结束,剩余45页可下载查看

下载本文档

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

文档简介

模糊控制的matlab实现,本实验以Mtlab6.5为开发环境,基于模糊逻辑工具箱(FuzzyLogicToolbox)通过简单直观的例子,对模糊控制系统进行分析与研究。,第4章,4.1认识实验,1.anfisedit,功能:打开ANFIS编辑器的GUI格式:anfisedit(a)anfisedit(a)anfisedit说明:利用anfisedit函数打开ANFIS编辑器的GUI,从中可装入数据集合并训练ANFIS。利用anfisedit(a)可从磁盘中装入名为a.fis的FIS文件,并打开ANFIS编辑器。利用anfisedit(a)可按同样的方式打开FIS结构变量a。,4.1.1GUI(图形用户界面)工具箱函数,2.fuzzy,功能:调用基本的FIS编辑器。格式:fuzzyfuzzy(fismat)说明:FIS编辑器可让用户方便地创建或修改FIS(模糊推理系统)的高级特性。,3.mfedit,功能:隶属度函数编辑器格式:mfedit(a)mfedit(a)mfedit说明:mfedit(a)可打开隶属度函数编辑器,其中包含文件a.fis的隶属度函数,通过编辑器可对其进行修改。mfedit(a)可打开保存在工作空间变量a中的FIS结构。mfedit可打开隶属度函数编辑器。,4.ruleedit,功能:ruleedit(a)ruleedit(a)说明:利用ruleedit(a)可打开规则编辑器,从中可以查看或修改文件a.fis所对应的FIS结构中的规则。ruleedit(a)格式可用来打开在工作空间中已存在的名为a的FIS结构所对应的规则编辑器。,5.ruleview,功能:规则观测器和模糊推理框图格式:ruleview(a)ruleview(a)说明:利用ruleview(a)可打开a.fis规则状况的规则观测器,从中可对文件a.fis所对应的FIS结构画出模糊推理框图,并可显示整个框图。ruleview(a)格式可用来打开在工作空间中已存在的名为a的FIS结构所对应的规则观测器。利用可打开ruleview规则观测器。,6.surfview,功能:输出曲面观测器格式:surfview(a)surfview(a)说明:利用surfview(a)可打开输出曲面观测器,从中可查看保存在文件a.fis中的单输入或双输入FIS结构的输出曲面。,4.1.2隶属度函数,功能:高斯(Gaussian)型隶属度函数格式:y=gaussmf(x,sigc)说明:对称的高斯型函数取决于个参数(sig)和c:gaussmf函数的参数以向量sig,c形式给出。例:x=0:0.1:10;y=gaussmf(x,25);plot(x,y);text(0.2,0.88,gaussmf);text(0.2,0.78,P=25);,1.Gaussmf,2.sigmf功能:Sigmoid型隶属度函数格式:y=sigmf(x,ac)说明:Sigmoid型函数由参数a和c确定:例:x=0:0.1:10;y=sigmf(x,24);plot(x,y);text(0.2,0.88,sigmf);text(0.2,0.78,P=24);,3.trimf,功能:三角形隶属度函数格式:y=trimf(x,abc)说明:三角函数曲线由个参数a、b、c确定:,参数a和c确定三角形的“脚”,而参数b确定三角形的“峰”,例:x=0:0.1:10;y=trimf(x,368);plot(x,y);text(0.2,0.88,trimf);text(0.2,0.78,P=368);,4.1.3FIS数据结构管理函数,功能:将隶属度函数添加到FIS格式:a=addmf(a,varType,varIndex,mfName,mfType,mfParams)addmf函数有个变量(1)a:工作空间中的FIS结构变量名(2)varType:要添加的隶属度函数的变量类型(3)varIndex:要添加的隶属度函数的变量编号(4)mfName:新添加的隶属度函数名(5)mfType:新隶属度函数的类型(6)mfParams:指定隶属度函数的参数向量,1.addmf,例:a=newfis(Simple);a=addvar(a,input,e,-6,6);a=addmf(a,input,1,NL,trapmf,-6,-6,-5,-3);a=addmf(a,input,1,NS,trapmf,-5,-3,-2,0);a=addmf(a,input,1,ZR,trapmf,-2,0,2)。,2.addrule功能:在FIS中添加规则格式:a=addrule(a,ruleList)例:ruleList=11111;12211;a=addrule(a,ruleList);,3.addvar功能:在FIS中添加变量格式:a=addvar(a,varType,varBounds)例:a=newfis(Simple);a=addvar(a,input,e,-6,6);,功能:对隶属度函数进行反模糊化格式:out=defuzz(x,mf,type)说明:defuzz(x,mf,type)可得到输入为x时隶属度函数mf的反模糊值例:x=-10:0.1:10;mf=trapmf(x,-10-8-47);xx=defuzz(x,mf,centroid),4.defuzz,4.1.4Simulink仿真模块,1.fuzblock功能:模糊逻辑控制器仿真模块格式:fuzblock说明:此命令将打开Simulink系统的模糊逻辑模块库,里面含有有关模糊逻辑器件的演示框图。,2.sffis功能:Simulink中的模糊推理S函数格式:outputsffis(t,x,u,flag,fismat)说明:用此函数可得到一个由Simulink使用的MEX文件,模糊推理系统的任务,4.2水箱水位控制实验,对测量数据进行模糊化,建立模糊控制规则表,进行输出信息的模糊判决,建立模糊推理系统,通常采用两类方法:,(1)利用Matlab命令行建立模糊推理系统(2)利用GUI建立模糊推理系统,水箱水位模糊推理系统(FIS)的建立,水位模糊控制系统,设定期望的水位,检测实际的水位,计算水位误差,由模糊控制器计算得到阀门控制量,即阀门开度,从而控制阀门,完成水位的控制。,取水位误差e和误差变化率ec作为模糊控制器的输入变量。其中:e=r-y(误差设定值测量值)。选取误差e的论域范围:-1+1,个语言变量值为:negative、zero、positive,它们的隶属度函数均取gaussmf;水位变化率ec的论域也为:-0.1+0.1,个语言变量值为:negative、zero、positive,它们的隶属度函数均取gaussmf;确定输出变量数为个,名为u,其论域为-1+1,个语言变量值为close-fast、close-slow、no-chang、open-slow、open-fast,隶属度函数选为trimf。,规则分析:根据水箱水位控制的实际经验,可得到如下控制规则:(1)Ifeisnegativethenuisclose-fast(2)Ifeiszerothenuisno-chang(3)Ifeispositivethenuisopen-fast(4)Ifeiszeroandecisnegativethenuisopen-slow(5)Ifeiszeroandecispositivethenuisclose-slow,4.2.1利用GUI建立FIS,1.进入FIS编辑器,在Matlab的CommandWindow窗口的提示下,键入fuzzy可打开FIS编辑器,默认的文件名是Untitle,默认的系统是Mamdani型。,由于本例有个输入变量,因此需要添加个输入变量,然后给输入、输出变量命名,再保存系统。,本例创建的系统命名为WatLevControl。,2.进入隶属度函数编辑器,进入方法:(1)在FIS编辑器中双击任意一个输入或输出变量的图框(2)通过菜单EditMembershipFunctions(3)在Matlab的CommandWindow窗口的提示下,键入mfedit(WatLevControl),编辑过程:,修改各变量的论域范围编辑各个输入或输出变量的隶属度函数及各隶属度函数对应的Name、Type、Params。,系统默认每个变量有个隶属度函数,均为trimf,可根据需要进行删减。,3.进入规则编辑器,进入方法:(1)在FIS编辑器中双击规则处理图框(2)通过菜单EditRules(3)在Matlab的CommandWindow窗口的提示下,键入ruleedit。,4.查看规则观测器,目的:查看模糊规则的推理情况。可以方便地观察规则情况以及调整不同的输入时所对应的输出的情况。,打开规则观测器的方法:通过菜单ViewRule,5.查看曲面观测器,目的:查看模糊规则的曲面输出情况。,打开曲面观测器的方法:通过菜单ViewSurface,4.2.2利用Matlab命令行建立FIS,设所建的FIS结构为wlcontrol,则命令行为:,1.建立新的FIS,2.添加输入输出变量,本例的模糊推理系统有个输入变量e和ec,个输出变量u,根据它们的论域要求,用add函数添加三个变量。,3.添加隶属函数,4.设计并添加规则列表,5.保存FIS结构,用writefis函数可以将Matlab工作空间中的FIS结构变量wlcontrol保存到磁盘文件中:writefis(wlcontrol)此文件将以.fis为缺省后缀名。,6.可以利用下列函数对所建立的FIS进行操作,plotmf(绘制隶属度函数)、surfview(绘制系统输出曲面)plotfis(绘制FIS系统结构)、evalfis(计算FIS输出)、getfis(获取FIS结构的属性)、showfis(显示FIS结构参数)evalmf(计算隶属度函数),wlcontrol=addvar(wlcontrol,input,e,-11);wlcontrol=addvar(wlcontrol,input,ec,-0.10.1);wlcontrol=addvar(wlcontrol,output,u,-11);wlcontrol=addmf(wlcontrol,input,1,negative,gaussmf,0.45-1);wlcontrol=addmf(wlcontrol,input,1,zero,gaussmf,0.450);wlcontrol=addmf(wlcontrol,input,1,positive,gaussmf,0.451);wlcontrol=addmf(wlcontrol,input,2,negative,gaussmf,0.045-0.1);wlcontrol=addmf(wlcontrol,input,2,zero,gaussmf,0.0450);wlcontrol=addmf(wlcontrol,input,2,positive,gaussmf,0.0450.1);wlcontrol=addmf(wlcontrol,output,1,close-fast,trimf,-1.5-1-0.5);wlcontrol=addmf(wlcontrol,output,1,close-slow,trimf,-1-0.50);wlcontrol=addmf(wlcontrol,output,1,no-change,trimf,-0.500.5);wlcontrol=addmf(wlcontrol,output,1,open-slow,trimf,00.51);wlcontrol=addmf(wlcontrol,output,1,open-fast,trimf,0.511.5);rulelist=10111;20311;30511;21411;232

温馨提示

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

评论

0/150

提交评论