matlab模糊控制实现.doc_第1页
matlab模糊控制实现.doc_第2页
matlab模糊控制实现.doc_第3页
matlab模糊控制实现.doc_第4页
matlab模糊控制实现.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

模糊控制作业一介绍模糊控制是指基于模糊逻辑描述一个过程的控制算法,是以模糊集合论、模糊语言变量及模糊逻辑推理为基础的,基于被控系统的物理特性,模拟人的思维方式和人的控制经验来实现的一种计算机智能控制。模糊控制器主要嵌有操作人员的经验和直觉知识,是模糊语言形式的控制方法,不需要预先知道被控对象结构、参数,不需要建立被控对象的精确数学模型,并能克服非线性因素、大惯性因素的影响,对调节对象的参数变化不敏感,对对象时变及纯滞后有一定的适应性,即具有较强的鲁棒性。模糊控制器的设计参数容易选择调整。模糊控制系统如图1-1所示 图 1-1 模糊控制系统框图二 本作业介绍1、选定模糊控制器的输入输出变量,并进行量程转换输入语言变量选为实际浓度与给定值之间的偏差(纸浆浓度偏差)e及纸浆浓度偏差变化率ec,输出语言变量选为阀门开度增量u。首先确定e、ec和u的基本论域分别为-1.2%1.2%、-0.6%0.6%和-1212,选定e、u的模糊集合的论域为-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,ec的模糊集合的论域为-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,72、确定模糊控制器的结构根据系统输入变量个数可知,应采用采用双输入单输出模糊控制器。(如图2所示)模糊控制器主要包含三个功能环节:用于输入信号处理的模糊量化和模糊化环节,模糊控制算法功能单元,以及用于输出解模糊化的模糊判决环节。二维模糊控制器 e d/dt 图2 双输入单输出模糊控制器3、确定各变量的模糊语言取值及相应的隶属函数,即进行模糊化模糊化是将模糊控制器输入量的确定值转换为相应模糊语言变量值的过程,此相应语言变量均由对应的隶属度函数来定义。对纸浆浓度偏差e、纸浆浓度偏差变化率ec、阀门开度的增量u进行模糊化,分别用模糊语言变量X、Y、Z进行表示,语言值集合均为负大,负中,负小,零,正小,正中,正大,用英文缩写进行表示分别为:X=NBe,NMe,NSe,ZOe,PSe,PMe,PBeY= NBec,NMec,NSec,ZOec,PSec,PMec,PBec Z= NBu,NMu,NSu,ZOu,PSu,PMu,PBu 模糊化包括两个任务:第一个任务是进行论域变换,过程参数的实际范围称为基本论域,可以通过变换系数(量化因子)实现由基本论域到量化论域的变换;第二个任务是求得输入对应于语言变量的隶属度。取三角形隶属函数,并取为均非均匀间隔。a.任务一:求量化因子e、ec和u的基本论域分别为-1.2%1.2%、-0.6%0.6%和-1212,量化论域分别为-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7 。纸浆浓度偏差e的量化因子Ke=6/0.012=500,纸浆浓度偏差变化率ec的量化因子Kec=6/0.006=1000,通过量化因子即可实现由基本论域到量化论域的变换。b.任务二:取隶属度函数选用三角形隶属度函数,如图所示: 图2-1 纸浆浓度偏差e的隶属度函数图2-2纸浆浓度偏差变化率ec的隶属度函数图2-3 阀门开度增量u的隶属度函数 这样对于纸浆浓度偏差e、纸浆浓度偏差变化率e的不同输入值,可以根据对应的隶属度函数,把它模糊化成不同的语言值,这样就完成了模糊化。4、建立模糊控制规则或控制算法根据人的直觉思维推理,由系统输出的误差和误差变化趋势来消除系统的误差的模糊控制规则,对于不同的被控对象,误差E,误差变化率EC及控制量U有不同的意义。在本设计中分别为纸浆浓度偏差e、纸浆浓度偏差变化率ec、阀门开度的增量u。 建立模糊控制规则是指规则的归纳和规则库的建立,是从实际控制经验过渡到模糊控制器的中心环节。控制律通常由一组if-then结构的模糊条件语句构成,或总结为模糊控制规则表。例如:If (input1 is NBe) and (input2 is NBec) then (output1 is PBu) (1) 即是模糊条件语句5、确定模糊推理和解模糊化方法输出的解模糊化就是将语言表达的模糊量恢复到精确的数值,也就是根据输出模糊子集的隶属度计算出确定数值。一、 设计过程及步骤1、模糊控制器的设计a.对系统的输入和输出进行设定对输入和输出的个数,词集个数和名称,量化论域进行设定。Input2与output1的设定方法类似。设定完毕后保存到workspace.如下图所示。b.控制规则的设置双击上图中zfm出现控制规则编辑窗口,根据设计任务书上所给的控制规则与模糊控制表编写控制规则,并在matable命令窗口中导出控制规则,如下所示: a=readfis(zfm); showrule(a)ans =1. If (input1 is NBe) and (input2 is NBec) then (output1 is PBu) (1) 2. If (input1 is NMe) and (input2 is NBec) then (output1 is PBu) (1) 3. If (input1 is NSe) and (input2 is NBec) then (output1 is PMu) (1) 4. If (input1 is ZOe) and (input2 is NBec) then (output1 is PMu) (1) 5. If (input1 is PSe) and (input2 is NBec) then (output1 is PSu) (1) 6. If (input1 is PMe) and (input2 is NBec) then (output1 is ZOu) (1) 7. If (input1 is PBe) and (input2 is NBec) then (output1 is ZOu) (1) 8. If (input1 is NBe) and (input2 is NMec) then (output1 is PBu) (1) 9. If (input1 is NMe) and (input2 is NMec) then (output1 is PBu) (1) 10. If (input1 is NSe) and (input2 is NMec) then (output1 is PMu) (1)11. If (input1 is ZOe) and (input2 is NMec) then (output1 is PMu) (1)12. If (input1 is PSe) and (input2 is NMec) then (output1 is PSu) (1)13. If (input1 is PMe) and (input2 is NMec) then (output1 is ZOu) (1)14. If (input1 is PBe) and (input2 is NMec) then (output1 is ZOu) (1)15. If (input1 is NBe) and (input2 is NSec) then (output1 is PBu) (1)16. If (input1 is NMe) and (input2 is NSec) then (output1 is PBu) (1)17. If (input1 is NSe) and (input2 is NSec) then (output1 is PMu) (1)18. If (input1 is ZOe) and (input2 is NSec) then (output1 is PSu) (1)19. If (input1 is PSe) and (input2 is NSec) then (output1 is ZOu) (1)20. If (input1 is PMe) and (input2 is NSec) then (output1 is NMu) (1)21. If (input1 is PBe) and (input2 is NSec) then (output1 is NMu) (1)22. If (input1 is NBe) and (input2 is ZOec) then (output1 is PBu) (1)23. If (input1 is NMe) and (input2 is ZOec) then (output1 is PBu) (1)24. If (input1 is NSe) and (input2 is ZOec) then (output1 is PMu) (1)25. If (input1 is ZOe) and (input2 is ZOec) then (output1 is ZOu) (1)26. If (input1 is PSe) and (input2 is ZOec) then (output1 is NMu) (1)27. If (input1 is PMe) and (input2 is ZOec) then (output1 is NBu) (1)28. If (input1 is PBe) and (input2 is ZOec) then (output1 is NBu) (1)29. If (input1 is NBe) and (input2 is PSec) then (output1 is PMu) (1)30. If (input1 is NMe) and (input2 is PSec) then (output1 is PMu) (1)31. If (input1 is NSe) and (input2 is PSec) then (output1 is ZOu) (1)32. If (input1 is ZOe) and (input2 is PSec) then (output1 is NSu) (1)33. If (input1 is PSe) and (input2 is PSec) then (output1 is NMu) (1)34. If (input1 is PMe) and (input2 is PSec) then (output1 is NBu) (1)35. If (input1 is PBe) and (input2 is PSec) then (output1 is NBu) (1)36. If (input1 is NBe) and (input2 is PMec) then (output1 is ZOu) (1)37. If (input1 is NMe) and (input2 is PMec) then (output1 is ZOu) (1)38. If (input1 is NSe) and (input2 is PMec) then (output1 is NSu) (1)39. If (input1 is ZOe) and (input2 is PMec) then (output1 is NMu) (1)40. If (input1 is PSe) and (input2 is PMec) then (output1 is NMu) (1)41. If (input1 is PMe) and (input2 is PMec) then (output1 is NBu) (1)42. If (input1 is PBe) and (input2 is PMec) then (output1 is NBu) (1)43. If (input1 is NBe) and (input2 is PBec) then (output1 is ZOu) (1)44. If (input1 is NMe) and (input2 is PBec) then (output1 is ZOu) (1)45. If (input1 is NSe) and (input2 is PBec) then (output1 is NSu) (1)46. If (input1 is ZOe) and (input2 is PBec) then (output1 is NMu) (1)47. If (input1 is PSe) and (input2 is PBec) then (output1 is NMu) (1)48. If

温馨提示

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

评论

0/150

提交评论