模糊控制在MATLAB中的实现_第1页
模糊控制在MATLAB中的实现_第2页
模糊控制在MATLAB中的实现_第3页
模糊控制在MATLAB中的实现_第4页
模糊控制在MATLAB中的实现_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、模糊控制在MATLAB中的实现1、采用、采用MATLAB语言根据具体的控制算法编程语言根据具体的控制算法编程2、利用、利用MATLAB提供的模糊逻辑工具箱函数提供的模糊逻辑工具箱函数3、利用模糊逻辑工具箱的图形界面与、利用模糊逻辑工具箱的图形界面与Simulink动态仿真环境动态仿真环境仿真方法:仿真方法:简单简单直观直观复杂但灵活复杂但灵活MATLABMATLAB工具箱提供的图形化工具:工具箱提供的图形化工具:模糊系统模糊系统FIS Editor模糊推理系统编辑器模糊推理系统编辑器(Fuzzy)MF Editor隶属度函数隶属度函数编辑器编辑器(Mfedit)Rule Editor模糊规则模

2、糊规则编辑器编辑器(Ruleedit)Rule Viewer模糊规则模糊规则观察器观察器(Ruleview)Surface Viewer输入输出面视图输入输出面视图(Surfview)例:小费问题例:小费问题小费与服务及食物质量有关。小费与服务及食物质量有关。输入:输入:服务及食物质量,服务及食物质量,2个输入。个输入。输出:输出:小费,小费,1个输出。个输出。语言值:语言值:食物:差、好;食物:差、好;010服务:差、好、很好;服务:差、好、很好;010小费:少、中等、高;小费:少、中等、高;030模糊规则:模糊规则:1、如果服务差或食物差,则小费少;、如果服务差或食物差,则小费少;2、如果

3、服务中等,则小费中等;、如果服务中等,则小费中等;3、如果服务好或食物非常可口,则小费高。、如果服务好或食物非常可口,则小费高。在在matlab工作窗口输入:工作窗口输入:fuzzy+回车或回车或fuzzy + 文件名(文件名(.fis)进入图形界面编辑进入图形界面编辑增加输入变量增加输入变量输入输入mfeditmfedit或选择编辑隶属度函数菜单或选择编辑隶属度函数菜单输入服务的隶属度函数输入服务的隶属度函数输入输入mfeditmfedit或选择编辑隶属度函数菜单或选择编辑隶属度函数菜单输入食物的隶属度函数输入食物的隶属度函数输入输入mfeditmfedit,或选择编辑隶属度函数菜单,或选择

4、编辑隶属度函数菜单输出小费的隶属度函数输出小费的隶属度函数将修改保存到工作空间输入输入ruleeditruleedit,或选择编辑,或选择编辑模糊规则模糊规则菜菜单单模糊规则:模糊规则:1、如果服务差,食物差,则小费少;、如果服务差,食物差,则小费少;2、如果服务好,则小费中等;、如果服务好,则小费中等;3、如果服务好和食物非常可口,则小费高。、如果服务好和食物非常可口,则小费高。浏览模糊规则浏览模糊规则模糊推理输入输出曲面视图,完成模糊推理系统的构建。模糊推理输入输出曲面视图,完成模糊推理系统的构建。模糊推理系统的存储:模糊推理系统的存储:1、选择、选择FileExport菜单将创建的模糊推

5、理系统菜单将创建的模糊推理系统存成存成*.fis文件。文件。2、选择、选择FileSave to Workspace as .保存到保存到matlab工作空间,输入变量名(英文命名)。工作空间,输入变量名(英文命名)。 例:自适应模糊例:自适应模糊PIDPID控制器控制器 设计一模糊控制器 步骤步骤 1. 确定确定e e,dede和和u u的论域的论域 2. e e,dede和和u u语言变量的选取语言变量的选取 3. 规则的制定规则的制定 4. 推理方法的确定推理方法的确定456. 864. 15 . 0228. 422sssG假定被控对象的传递函数为:利用利用Simulink动态仿真动态仿

6、真 1. 根据系统实际情况,选择e,de和U (Kp,Ki,Kd)的论域 e range : -1 1 de range: -0.1 0.1 u range: 0 2 2. e,de和u语言变量的选取 e 8个:NB,NM,NS,NZ,PZ,PS,PM,PB de 7个:NB,NM,NS,Z,PS,PM,PB U 7个:NB,NM,NS,Z,PS,PM,PB利用利用MATLAB的的Toolbox工具工具偏差的隶属度函数偏差的隶属度函数输入的隶属度函数输入的隶属度函数偏差变化的隶属度函数偏差变化的隶属度函数输出的隶属度函数输出的隶属度函数Kp,Ki,Kd根据以上规律得根据以上规律得KpKp 、K

7、i、Kd的模糊规则表的模糊规则表根据设计经验,得出改变根据设计经验,得出改变PID参数参数Kp,Ki,Kd的规律的规律当偏差较大时,当偏差较大时, Kp=较大(使系统响应加快),较大(使系统响应加快), Kd=零或较小零或较小 Ki=0(避免过大的超调)(避免过大的超调)当偏差中等时,当偏差中等时, Kp=较小(使系统响应具有较小的超调),较小(使系统响应具有较小的超调), Kd=适当(对系统影响较大)适当(对系统影响较大) Ki=适当适当当偏差较小时,当偏差较小时, Kp=较大(使系统具有良好的稳态性能),较大(使系统具有良好的稳态性能), Kd=适当(避免在平衡点附近振荡)适当(避免在平衡

8、点附近振荡) Ki=较大(使系统具有良好的稳态性能),较大(使系统具有良好的稳态性能),3.模糊规则确定模糊规则确定p65 推理方法推理方法: 采用采用 mamdani方法方法 去模糊方法:去模糊方法:加权平均法加权平均法 选择隶属函数的形式:选择隶属函数的形式:三角型三角型利用模糊逻辑工具箱的图形界面与利用模糊逻辑工具箱的图形界面与Simulink动态仿真环境动态仿真环境模糊规则:模糊规则:模糊规则:模糊规则:0.1 1-0.1-1 0 2用用surfviewsurfview菜单命令看模糊控制器的输出量菜单命令看模糊控制器的输出量整定出的整定出的Kp,Ki,Kd代入代入PID算法的离散算法的

9、离散差分公式差分公式 1pidu kK e kKe kKe ke k 1e ke ku k式中:1、双击、双击fuzzy contrller,给模糊控制器命名,给模糊控制器命名OK2、在、在matlab窗口中输入命令:窗口中输入命令: 命名命名=readfis(变量名变量名. fis)将将*fis文件导入文件导入Simulink模型中的步骤:模型中的步骤:Scope 2Scope 1Scope 3利用利用MATLABMATLAB提供的模糊逻辑工具箱函数提供的模糊逻辑工具箱函数创建一个新的模糊推理系统(模糊控制器)创建一个新的模糊推理系统(模糊控制器)输入输出的量化等级都为输入输出的量化等级都为

10、7 7级级e e、ecec、 u =-3,-2,-1,0,1,2,3u =-3,-2,-1,0,1,2,3各取各取7 7个语言值,可取:模糊子集:负大、负中、负个语言值,可取:模糊子集:负大、负中、负小、零、正小、正中、正大小、零、正小、正中、正大e e、ecec的论域的论域 =-3,3=-3,3u u的论域的论域 =-4.5, 4.5=-4.5, 4.5隶属度函数任意确定。隶属度函数任意确定。%模糊控制器设计模糊控制器设计a=newfis(fuzzf); %创建新的模糊推理系统创建新的模糊推理系统f1=1; a=addvar(a,input,e,-3*f1,3*f1); %添加添加 e 的模

11、糊语言变量的模糊语言变量a=addmf(a,input,1,NB,zmf,-3*f1,-1*f1); %添加添加 e 的模糊语言变量的隶属度函数(的模糊语言变量的隶属度函数(z型)型)a=addmf(a,input,1,NM,trimf,-3*f1,-2*f1,0); %隶属度函数为三角形隶属度函数为三角形a=addmf(a,input,1,NS,trimf,-3*f1,-1*f1,1*f1); a=addmf(a,input,1,Z,trimf,-2*f1,0,2*f1); a=addmf(a,input,1,PS,trimf,-1*f1,1*f1,3*f1);a=addmf(a,input

12、,1,PM,trimf,0,2*f1,3*f1);a=addmf(a,input,1,PB,smf,1*f1,3*f1); f2=1;a=addvar(a,input,ec,-3*f2,3*f2); %添加添加 ec 的模糊语言变量的模糊语言变量a=addmf(a,input,2,NB,zmf,-3*f2,-1*f2); a=addmf(a,input,2,NM,trimf,-3*f2,-2*f2,0);a=addmf(a,input,2,NS,trimf,-3*f2,-1*f2,1*f2);a=addmf(a,input,2,Z,trimf,-2*f2,0,2*f2);a=addmf(a,i

13、nput,2,PS,trimf,-1*f2,1*f2,3*f2);a=addmf(a,input,2,PM,trimf,0,2*f2,3*f2);a=addmf(a,input,2,PB,smf,1*f2,3*f2); f3=1.5;a=addvar(a,output,u,-3*f3,3*f3); %添加添加 u 的模糊语言变量的模糊语言变量a=addmf(a,output,1,NB,zmf,-3*f3,-1*f3); a=addmf(a,output,1,NM,trimf,-3*f3,-2*f3,0);a=addmf(a,output,1,NS,trimf,-3*f3,-1*f3,1*f3)

14、;a=addmf(a,output,1,Z,trimf,-2*f3,0,2*f3);a=addmf(a,output,1,PS,trimf,-1*f3,1*f3,3*f3);a=addmf(a,output,1,PM,trimf,0,2*f3,3*f3);a=addmf(a,output,1,PB,smf,1*f3,3*f3);rulelist=1 1 1 1 1; %编辑模糊规则编辑模糊规则 1 2 1 1 1; 1 3 1 1 1; 1 4 2 1 1; 1 5 2 1 1; 1 6 3 1 1; 1 7 4 1 1; 2 1 1 1 1; 2 2 2 1 1; 2 3 2 1 1; 2

15、4 2 1 1; 2 5 3 1 1; 2 6 4 1 1; 2 7 5 1 1;eecu权系数权系数0-1与与“1”或或“0”a=addrule(a,rulelist); %添加模糊规则函数添加模糊规则函数 showrule(a) %显示模糊规则函数显示模糊规则函数 a1=setfis(a,DefuzzMethod,centroid); %设置模糊系统特性设置模糊系统特性 writefis(a1,fuzzf); %保存模糊系统保存模糊系统 a2=readfis(fuzzf); %从磁盘读出保存的模糊系统从磁盘读出保存的模糊系统 disp(fuzzy Controller table:e=-3,+3,ec=-3,+3);%显示矩阵和数组内容显示矩阵和数组内容 Ulist=zeros(7,7); %全零矩阵全零矩阵for i=1:7 f

温馨提示

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

评论

0/150

提交评论