系统的模糊控制MATLAB实现.doc_第1页
系统的模糊控制MATLAB实现.doc_第2页
系统的模糊控制MATLAB实现.doc_第3页
系统的模糊控制MATLAB实现.doc_第4页
系统的模糊控制MATLAB实现.doc_第5页
免费预览已结束,剩余9页可下载查看

下载本文档

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

文档简介

1、.智能控制大作业第一次大作业: 周庆强学号:1140810106Word 文档.哈尔滨工业大学2017 年 5月 25日题目:对一个系统,假设给系统一个阶跃值r=30 ,采样时间为1s,系统的初始值为r(0)=0 ,利用常规的模糊控制器对系统进行控制。思路:在仿真系统中,不需要考虑信号的A/D 和 D/A 转换,模糊控制系统框图如下:1、选择观测量和控制量将偏差 e,即当前位置 - 目标目标,作为观察量(输入量)1,%将偏差的变化量 ec,即 e(t)-e(t-1) ,作为观察量(输入量)2,选取阀门开度 u 为控制量。Word 文档.2、输入量和输出量的模糊化将偏差 e 划分为 5 个模糊集

2、,负大 (NB)、负小(NS)、零(ZO)、正小 (PS)、正大(PB),e 为负表示当前水位低于目标水位,e 为正表示当前水位高于目标水位。设定 e 的取值范围为 -3 ,3,隶属度函数如下。同理,将偏差的变化量ec 划分为 5 个模糊集,负大 (NB)、负小 (NS)、零(ZO)、正小 (PS)、正大 (PB),ec 为负表示该时刻水位比上一时刻水位小,ec 为郑表示该时刻水位比上一时刻水位大, 。设定 ec 的取值范围为 -3 ,3,隶属度函数如下。Word 文档.同样将控制量 u 划分为 5 个模糊集,负大 (NB)、负小 (NS)、零 (ZO)、正小 (PS)、正大 (PB),u 为

3、负表示减小控制量,u 为正表示增大控制量。设定u 的取值范围为 -4 , 4,隶属度函数如下。Word 文档.3、制定模糊规则模糊规则的制定是模糊控制的核心内容,控制性能的好坏很大程度上由模糊规则决定,本文主要是根据经验来制定相应的规则。ecNBNSZOPSPBueNBPBPBPBPBPBNSPBPBPSPSZOZOPBPSZONSNBPSZOPSNSNBNBPBNBNBNBNBNB将上述用语言描述的规则转化为“ IF A , THEN B”的语句如下:1. If (e is NB) and (ec is NB) then (u is PB) 。2. If (e is NB) and (ec

4、is NS) then (u is PB) 。Word 文档.3. If (e is NB) and (ec is ZO) then (u is PB) 。4. If (e is NB) and (ec is PS) then (u is PB) 。5. If (e is NB) and (ec is PB) then (u is PB) 。6. If (e is NS) and (ec is NB) then (u is PB) 。7. If (e is NS) and (ec is NS) then (u is PB) 。8. If (e is NS) and (ec is ZO) the

5、n (u is PS) 。9. If (e is NS) and (ec is PS) then (u is PS) 。10. If (e is NS) and (ec is PB) then (u is ZO) 。11. If (e is ZO) and (ec is NB) then (u is PB) 。12. If (e is ZO) and (ec is NS) then (u is PS) 。13. If (e is ZO) and (ec is ZO) then (u is ZO) 。14. If (e is ZO) and (ec is PS) then (u is NS) 。

6、15. If (e is ZO) and (ec is PB) then (u is NB) 。16. If (e is PS) and (ec is NB) then (u is ZO) 。17. If (e is PS) and (ec is NS) then (u is PS) 。18. If (e is PS) and (ec is ZO) then (u is NS) 。19. If (e is PS) and (ec is PS) then (u is NB) 。20. If (e is PS) and (ec is PB) then (u is NB) 。21. If (e is

7、 PB) and (ec is NB) then (u is NB) 。22. If (e is PB) and (ec is NS) then (u is NB) 。23. If (e is PB) and (ec is ZO) then (u is NB) 。24. If (e is PB) and (ec is PS) then (u is NB) 。Word 文档.25. If (e is PB) and (ec is PB) then (u is NB) 。4、进行模糊决策我们最终需要获得的控制量u 即为模糊控制的输出, u 可由两个输入量(偏差矩阵 e 和偏差矩阵 ec)和模糊关系

8、矩阵R 合成得到。根据制定的模糊规则,通过相应的模糊集合运算,可得到模糊关系集合R。R 定义为:即:输出模糊量:Word 文档.5、控制量的反模糊化我们模糊决策得到的控制量u 是一个矩阵,并不能直接应用在工程上,因此需要将 u 解释为实际中的特定行为, 即反模糊化操作。 目前常用的反模糊化方法有以下几种:(1)最大隶属度法 -计算简单控制要求不高场合(2)重心法 -输出更平滑(3)加权平均法 -工业上应用最广泛本设计中采用第三种方法:加权平均法。6、matlab实现系统结构如图:通过 matlab 集成的模糊控制模块, 我们能够更加方便地对应偏差e、偏差量ec 和控制量 u 的关系,并可以调节

9、e 和 ec 在不同值下 u 的对应输出。Word 文档.7、系统响应与分析Word 文档.在系统中,发现随着时间的推移,系统快速到达距离标准位置很近的25 左右,继而出现波动情况。 分析出现这种现象的原因是模糊控制的调整太大,需要进行自适应调整,以便系统在到达e 接近与 0 的情况下,仍能继续接近标准位置。老师,最近有些事,没时间做自适应调整了,对不起啊。8、代码clear;clc;%对接收阶跃信号的系统进行模糊控制%构建模糊控制器a = newfis(fuzzy tank);%输入量 e 的模糊化a = addvar(a,input,e,-3,3);%将偏差 e,即当前位置 - 目标目标,

10、作为观察量(输入量)a = addmf(a,input,1,NB,zmf,-3,-1);a =addmf(a,input,1,NS,trimf,-3,-1,1); a =addmf(a,input,1,ZO,trimf,-2,0,2); a =addmf(a,input,1,PS,trimf,-1,1,3);a = addmf(a,input,1,PB,smf,1,3);%输入量 ec 的模糊化a = addvar(a,input,ec,-3,3);%将偏差的变化量ec,即 e(t)-e(t-1) ,作为观察量(输入量)Word 文档.a = addmf(a,input,2,NB,zmf,-3

11、,-1);a =addmf(a,input,2,NS,trimf,-3,-1,1); a =addmf(a,input,2,ZO,trimf,-2,0,2); a =addmf(a,input,2,PS,trimf,-1,1,3); a = addmf(a,input,2,PB,smf,1,3); %输出量的模糊化a = addvar(a,output,u,-4,4);% 选取阀门开度 u 为控制量a = addmf(a,output,1,NB,zmf,-4,-2);a =addmf(a,output,1,NS,trimf,-4,-2,0); a =addmf(a,output,1,ZO,tr

12、imf,-2,0,2); a =addmf(a,output,1,PS,trimf,0,2,4); a = addmf(a,output,1,PB,smf,2,4);%建立模糊规则rulelist=1151112511135111451115511215112251123411Word 文档.2441125311315113241133311342113511141311424114321144111451115111152111531115411155111;a = addrule(a,rulelist);%设置反模糊化算法a1 = setfis(a,DefuzzMethod,mom);wr

13、itefis(a1,tank);a2 = readfis(tank);%可代入计算的Word 文档.figure(1);plotfis(a2);figure(2);plotmf(a,input,1);figure(3);plotmf(a,input,2);figure(4);plotmf(a,output,1);%展示 e、ec 和 u 的对应关系showrule(a);ruleview(tank);%实时调控r_t=0;%初始值 r( 0) =0;r_tf=0;Ulist=0;r_aim=30;%目标值n=50;%进行 100 次校核record=zeros(1,n);%记录 r 的变化for i=1:nr_t=r_tf+Ulist;e=(r_t-r

温馨提示

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

评论

0/150

提交评论