下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 第六章__MATLAB与模糊控制系统

第六章__MATLAB与模糊控制系统.ppt

第六章__MATLAB与模糊控制系统

feng.can.lingdu
2011-09-22 0人阅读 举报 0 0 暂无简介

简介:本文档为《第六章__MATLAB与模糊控制系统ppt》,可适用于高等教育领域

MATLAB应用技术MATLAB应用技术清华大学出版社王忠礼段慧达高玉峰编著MATLAB与模糊控制系统.模糊系统的MATLAB实现..模糊集简介模糊集是一种边界不分明的集合模糊集与普通集合既有区别又有联系。模糊集的表示模糊概念模糊集菜用隶属度来表示论域X上的一个模糊集A对于任意都指定了一个数叫做x对A的隶属程度称做A的隶属函数。隶属度函数有以下种:()高斯型隶属度函数()双侧高斯型隶属度函数()钟形隶属度函数()Sigmoid函数型隶属度函数()差型sigmoid隶属度函数()积型sigmoid隶属度函数()Z形隶属度函数()Ⅱ形隶属度函数()S形隶属度函数()梯形隶属度函数()三角形隶属度函数模糊逻辑运算与运算或运算非运算直积逻辑与(AANDB)逻辑或(AORB)逻辑非(NOTA)普通逻辑:模糊逻辑模糊规则模糊推理系统工程中模糊规则以模糊语言的形式描述人类的经验和知识规则是否正确反映人类专家的经验和知识更新是否能反映对象的特性直接决定了模糊推理系统的性能通常通过模糊规则的形式是“if…then”前提由对模糊语言变量的语言什描述构成如“温度较高”“压力较低”等结论由对输出模糊语言变量表示成输入量的精确什的组合模糊规则的这种形式化表示的符合人们通过自然对许多知识的描述和记忆习惯的。模糊规则的建立①总结操作人员工、专家的经验和知识。②基于过程的模糊模型。③基于学习的方法。最简单的if…then规则的形式是:“如果x是A则y是B。”复合型的if…then规则的形式很多例如:“ifm是A且x是Btheny是C否则z是D”“ifm是A且x是B且y是Cthenz是D”“ifm是A或x是Btheny是C或z是D”“ifm是A且x是Btheny是C且z是D”这里ABCD分别是论域MXYZ中模糊集的主义值if部分是前提或前件then部分是结论或后件。输入模糊化确定出if…then规则前提中每个命题或断言为真的程度(即隶属度)。应用模糊算子召唤果规则的前提有几部分则利用模糊算子可以确定出整个前提为真的程度(即整个前提的隶属度)。应用蕴含算子由前提的隶属度和蕴含琥子可以确定出结论为真的程度(即结论的隶属度)。模糊推理模推理是采用模糊逻辑由给定的输入到输出的映射过程。模糊推理包括五个方面:()输入变量模糊化即把确定的输入转化为由隶属度描述的模糊集。()在模糊规则的前件中应用模糊算子(与、或、非)。()根据模糊蕴含运算由前提推断结论。()合成每一个规则的结论部分得出总的结论。()反模糊化即把输出的模糊量转化为确定的输出。模糊控制在自动控制理论中控制器的分析与综合依赖于精确的数学模型。而系统在实际运行过程中人们将观察到的过程输出与设定值比较得到过程输出偏离设定值程度的模糊语义描述或过程输出偏离设定值变化快慢的模糊语义描述经逻辑推理得出控制量的模糊量:“适量减少燃料”经反模糊化且转化为一精确的控制量实现整个控制过程以模糊集和模糊推理为基础对上述手工操作过程进行建模即可得到期模糊控制器。..模糊推理系统与MATLAB的应用模糊推理系统结构最常见的模糊推理系统的三类:、纯模糊逻辑系统、Sugeno型模糊逻辑系统、Mamdani型模糊系统Mamdani型模糊逻辑系统构建Mamdani型是典型的模糊逻辑系统MATLAB模糊逻辑工具箱中的模糊推理系统有五个过程:输入变量的模糊化、模糊关系运算、模糊合成运算、不同规则结果的综合、去模糊化。()输入模糊化()输入模糊集合的合成运算()模糊蕴含方法()输出的合成Aggregation()逆模糊化(解模糊化)模糊推理系统的MATLAB模糊工具箱的图形界面实现模糊推理系统可通过MATLAB模糊工具箱的图形界面工具来实现方法简单并且直观也可利用MATLAB提供的命令行方式的模糊逻辑函数编辑实现有利于比较复杂的模糊推系统。图形界面工具箱简介MATLAB模糊工具箱提供的图形化工具有五类:模糊推理系统编辑器Fuzzy隶属度函数编辑器Mfedit模糊规则编辑器Ruleedit模糊规则观察器Ruleview模糊推理输入输出曲面视图Surfview。模糊推理系统编辑器(Fuzzy)执行Fuzzy命令.隶属度函数编辑器(Mfedit)命令窗口键入”mfedit”.模糊规则编辑器(Ruleedit).模糊规则观察器(Ruleview)命令窗口键入“ruleview”.模糊推理输入输出曲面视图(Surfview)命令窗口键入“surfview”..模糊逻辑工具箱与Simulink的接口MATLAB的模糊的图形化系统建模和仿真工具Simulink当在模糊逻辑工具箱中建立了模糊推理系统后首先对模糊逻辑工具箱中建立的模糊推理系统后生成FIS文件然后在MATLAB命令窗口键入命令Simulink或是直接点击工具栏上的Simulink图标可以打开Simulink模块库浏览环境在Simulink模块库浏览环境里通过选择菜单【File】、【New】、【Model】或直接点击工具栏上的相应图标来创建一个新的模型。在新的仿真模型编辑主窗口中搭建仿真控制系统模型。例设计典型二阶环节的模糊控制器使系统输出尽快跟随系统输入。设系统输入为R=系统输出误差为e误差导数为de则可根据系统输出的误差和误差导数设计出模糊控制器(FC)。FC的输入为e和de的模糊量输出为u的模糊量论域分别为:[-11]、[-11]、[-10 10]其模糊语言分别为:E: “大 B”“小 S”de:“正 P”“零 Z”、“负 N”u:“负大NB”、“负小NS”、“零ZR”、“正小PS”、“正大PB”。使用MATLABL图形界面工具设计模糊控制器FC:确定隶属度函数确定模糊控制器规则将编制好的文件生成FIS文件上述过程按前面讲解完成该例子的文件名为 GHfis在MATLAB下的Simulink环境中建立二级系统的仿真模型如下:将MATLAB下的GHfis文件导入Simulink模型中作为的模糊控制器FC的参数:步骤:()选取择上图中的模糊模块控制器(双击其图标)打开对话框并给导入到仿真系统中的模糊控制器命名为ghfis()在MATLAB环境下使用命令: gh=read(‘GHFIS’)执行即可()模型中变量修改使用FIS中的Wizard模块将编制的模糊控制器标准化模糊控制器参数类型转换图系统输出MATLAB模糊逻辑工具箱命令行函数应用MATLAB模糊逻辑工具箱函数GUI(图形用户界面)工具隶属度函数FIS数据结构管理先进技术Simulink仿真方框其余函数模糊系统演示程序..MATLAB命令行函数使用、隶属度函数()dsigmf功能:由两个S形隶属度函数的差构成的隶属度函数。格式:y=dsigmf(xacac)()Gaussmf功能:联合高斯(Gaussian)型隶属函数格式:y=gaussmf(xsigcsigc)()gaussmf功能:高斯(Gaussian)型隶属度函数。格式:y=gaussmf(x,sigc)()gbellmf功能:广义钟形隶属度函数。格式:y=gbellmf(xparams)()primf功能:Ⅱ形隶属度函数。格式:y=pimf(xabcd)()psigmf功能:由两个S形隶属度函数的积成的隶属度函数。格式:y=psigmf(xacac)()smf功能:S状隶属度函数。格式:y=smf(xab)()Sigmf功能:S形隶属度函数。格式:y=sigmf(xac)()trapmf功能:梯形隶属度函数。格式:y=trapmf(x,abcd)()trimf功能:三角形隶属度函数。格式:y=trimf(xparams)y=trimf(xabc)()zmf功能:Z形隶属度函数。格式:y=zmf(x,ab).FIS数据结构管理()addmf功能:隶属度函数添加到FIS(模糊推理系统)。格式:a=addmf(a,´varType´,varIndex,´mfName´,´mfType´,mfParams)()addrule功能:在FIS中添加规则。格式:a=addrule(aruleList)()addvar功能:在FIS中添加变量:格式:a=addvar(a,´varType´,´varName´,varBounds)()defuzz功能:反模糊化的隶属度函数。格式:out=defuzz(xmftype)()evalfis功能:完成模糊推理计算。格式:output=evalfis(input,fismat)Output=evalfis(input,fismat,numPts)output,IRR,ORR,ARR=evalfis(input,fismat)output,IRR,ORR,ARR=evalfis(input,fismat,numPts)()evalmf功能:普通隶属度函数的计算。()gensurf功能:产生FIS输出曲面。()getfis功能:获取模糊系统的特性。()newfis功能:建立新的FIS格式:a=newfis(fisName,fisType,andMethod,orMethod,impMethod,aggMethod,defuzzMethod)()mfmf功能:在隶属度函数之间进行参数变换。格式:outParams=mfmf(inParams,inType,outType)()parsrule功能:模糊规则解析。格式:fis=parsrule(fis,txtRuleList)fis=parsrule(fis,txtRuleList,ruleFormat)fis=parsrule(fis,txtRuleList,ruleFormat,lang)()plotfis功能:绘图表示FIS。格式:plotfis(fismat)()plotmf功能:绘制出给定变量的所有隶属度函数。格式:plotmf(fismat,´varType´,varIndex)()readfis功能:从磁盘中装入FIS。格式:fismat=raedfis(´filename´)()rmmf功能:从FIS中删除隶属度函数。格式:fis=rmmf(fis,´varType´,varIndex,´mf´,mfIndex)()rmvar功能:从FIS中删除变量。格式:fis,errorStr=rmvar(fis,´varType´,varIndex)fis=rmvar(fis,´varType´,varIndex)()setfis功能:设置模糊系统的特性。格式:a=setfis(a,´fisPropname´,´newfisProp´)a=setfis(a,´varType´,varIndex,´varPropname´,´newvarProp´)a=setfis(a,´varType´,varIndex,´mf´,mfIndex,´mfPropname´,´newmfProp´)()showfis功能:显示带注释的FIS。格式:showfis(fismat).Showrule功能:显示FIS规则。格式:showrule(fis)showrule(fis,indxList)showrule(fis,indexList,format)showrule(fis,indexList,format,Lang)、先进技术()anfis功能:Sugeno型FIS的训练程序。()fcm功能:模糊C均值聚类。格式:centerUobjfcn=fcn(dataclustern)()genfis功能:从未加聚类的数据中产生FIS结构。格式:fismat=genfis(data)()genfis功能:利用减法聚类从数据中产生FIS结构。格式:fismat=genfis(XinXoutradii)fismat=genfis(XinXoutradiixBounds)fismat=genfis(XinXoutradiixBoundsoptions)()Subclust功能:找出减法聚类的聚类中心。格式:CS=subclust(XradiixBoundsoptions)、Simulink仿真方框()fuzblock功能:模糊逻辑控制器框图仿真。格式:fuzblock()sffis功能:Simulink中的模糊推理S函数。格式:output=sffis(t,x,u,flag,fismat)、其余函数()Convertfis功能:FIS结构的版本变换。格式:fisnew=converfis(fisold)()findcluster功能:模糊C均值和减法聚类的交互聚类GUI。格式:findcluster()fuzarith功能:完成模糊算术运算。格式:C=fuzarith(XABoperator)()mamsug功能:将Mamdani型的FIS变换成Sugeno型FIS。()fuzdemos功能:模糊逻辑工具箱演示程序列表。格式:fuzdemos..MATLAB模糊逻辑工具箱命令函数应用实例设计典型二阶环节:的模糊控制器使系统输出尽快跟随系统输入。隶属度函数误差隶属度函数误差变化率隶属度函数输出隶属度函数FC的模糊推量规则表MATLAB程序如下num=den=abcd=tfss(num,den)x=T=h=TN=R=*ones(,N)参考输入定义输入输出变量与隶属度函数a=newfis('Simple')a=addvar(a,'input','e',)a=addmf(a,'input',,'NB','trapmf',,,,)a=addmf(a,'input',,'NS','trapmf',,,,)a=addmf(a,'input',,'ZR','trimf',,,)a=addmf(a,'input',,'PS','trapmf',,,,)a=addmf(a,'input',,'PB','trapmf',,,,)a=addvar(a,'input','de',,)a=addmf(a,'input',,'NB','trapmf',,,,)a=addmf(a,'input',,'NS','trapmf',,,,)a=addmf(a,'input',,'ZR','trimf',,,)a=addmf(a,'input',,'PS','trapmf',,,,)a=addmf(a,'input',,'PB','trapmf',,,,)a=addvar(a,'output','u',,)a=addmf(a,'output',,'NB','trapmf',,,,)a=addmf(a,'output',,'NS','trimf',,,)a=addmf(a,'output',,'ZR','trimf',,,)a=addmf(a,'output',,'PS','trimf',,,)a=addmf(a,'output',,'PB','trapmf',,,,)模糊规则矩阵模糊规则矩阵rr=rr=zeros(prod(size(rr)),)k=fori=:size(rr,)forj=:size(rr,)r(k,:)=i,j,rr(i,j)k=kendendr,s=size(r)r=ones(r,)rulelist=r,ra=addrule(a,rulelist)模糊控制系统仿真e=de=ke=kd=ku=fork=:Ne=ke*ede=kd*deife>=e=elseife<=e=endifde>=de=elseifde<=de=end模糊推理计算被控对象输入in=edeu=ku*evalfis(in,a)uu(,k)=u控制作用于被控系统计算系统输出k=a*xb*uk=a*(xh*k)b*uk=a*(xh*k)b*uk=a*(xh*k)b*ux=x(k*k*kk)*hy=c*xd*uyy(,k)=y计算系统输出误差及误差变化率e=ee=yR(,k)de=(ee)Tend模糊控制输出曲线kk=:N*Tfigure()plot(kk,R,'k',kk,yy,'r')gridon系统阶跃响应曲线

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/54

第六章__MATLAB与模糊控制系统

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利