模糊控制在MATLAB中的实现课件



《模糊控制在MATLAB中的实现课件》由会员分享,可在线阅读,更多相关《模糊控制在MATLAB中的实现课件(40页珍藏版)》请在装配图网上搜索。
1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,模糊控制在,MATLAB,中的实现,1,、采用,MATLAB,语言根据具体的控制算法编程,2,、利用,MATLAB,提供的模糊逻辑工具箱函数,3,、利用模糊逻辑工具箱的图形界面与,Simulink,动态仿真环境,仿真方法:,简单,直观,复杂但灵活,MATLAB,工具箱提供的图形化工具:,模糊系统,FIS Editor,模糊推理系统编辑器,(Fuzzy),MF Editor,隶属度函数,编辑器,(,Mfedit),Rule
2、 Editor,模糊规则,编辑器,(Ruleedit),Rule Viewer,模糊规则,观察器,(Ruleview),Surface Viewer,输入输出面视图,(,Surfview,),例:小费问题,小费与服务及食物质量有关。,输入:,服务及食物质量,,2,个输入。,输出:,小费,,1,个输出。,语言值:,食物:差、好;,010,服务:差、好、很好;,010,小费:少、中等、高;,030,模糊规则:,1,、如果服务差或食物差,则小费少;,2,、如果服务中等,则小费中等;,3,、如果服务好或食物非常可口,则小费高。,在,matlab,工作窗口输入:,fuzzy+,回车或,fuzzy+,文件
3、名(,.fis,),进入图形界面编辑,增加输入变量,输入,mfedit,或选择编辑隶属度函数菜单,输入服务的隶属度函数,输入,mfedit,或选择编辑隶属度函数菜单,输入食物的隶属度函数,输入,mfedit,,或选择编辑隶属度函数菜单,输出小费的隶属度函数,将修改保存到工作空间,输入,ruleedit,,或选择编辑,模糊规则,菜单,模糊规则:,1,、如果服务差,食物差,则小费少;,2,、如果服务好,则小费中等;,3,、如果服务好和食物非常可口,则小费高。,浏览模糊规则,模糊推理输入输出曲面视图,完成模糊推理系统的构建。,模糊推理系统的存储:,1,、选择,FileExport,菜单将创建的模糊推
4、理系统,存成*,.fis,文件。,2,、选择,FileSave to Workspace as.,保存到,matlab,工作空间,输入变量名(英文命名)。,例:自适应模糊,PID,控制器,设计一模糊控制器,步骤,1.,确定,e,,,de,和,u,的论域,2.,e,,,de,和,u,语言变量的选取,3.,规则的制定,4.,推理方法的确定,假定被控对象的传递函数为:,利用,Simulink,动态仿真,1.,根据系统实际情况,选择,e,,,de,和,U(,Kp,,,Ki,,,Kd),的论域,e range:,-1 1,de range:,-0.1 0.1,u range:,0 2,2.,e,,,de
5、,和,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,根据以上规律得,Kp,、,Ki,、,Kd,的模糊规则表,根据设计经验,得出改变,PID,参数,Kp,,,Ki,,,Kd,的规律,当偏差较大时,,Kp=,较大(使系统响应加快),,Kd=,零或较小,Ki=0,(避免过大的超调),当偏差中等时,,Kp=,较小
6、(使系统响应具有较小的超调),,Kd=,适当(对系统影响较大),Ki=,适当,当偏差较小时,,Kp=,较大(使系统具有良好的稳态性能),,Kd=,适当(避免在平衡点附近振荡),Ki=,较大(使系统具有良好的稳态性能),,3.,模糊规则确定,p65,4.,推理方法的制定,推理方法,:,采用,mamdani,方法,去模糊方法:,加权平均法,选择隶属函数的形式:,三角型,MATLAB,利用模糊逻辑工具箱的图形界面与,Simulink,动态仿真环境,模糊规则:,模糊规则:,0.1,1,-0.1,-1,0,2,用,surfview,菜单命令看模糊控制器的输出量,整定出的,Kp,,,Ki,,,Kd,代入,
7、PID,算法的离散,差分公式,1,、双击,fuzzy contrller,,给模糊控制器命名,OK,2,、在,matlab,窗口中输入命令:,命名,=readfis(,变量名,.fis),将*,fis,文件导入,Simulink,模型中的步骤:,Scope 2,Scope 1,Scope 3,利用,MATLAB,提供的模糊逻辑工具箱函数,创建一个新的模糊推理系统(模糊控制器),输入输出的量化等级都为,7,级,e,、,ec,、,u=-3,-2,-1,0,1,2,3,各取,7,个语言值,可取:模糊子集:负大、负中、负小、零、正小、正中、正大,e,、,ec,的论域,=-3,3,u,的论域,=-4.5
8、,4.5,隶属度函数任意确定。,%,模糊控制器设计,a=newfis(fuzzf);%,创建新的模糊推理系统,f1=1;,a=addvar(a,input,e,-3*f1,3*f1);,%,添加,e,的模糊语言变量,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
9、,-2*f1,0,2*f1);,a=addmf(a,input,1,PS,trimf,-1*f1,1*f1,3*f1);,a=addmf(a,input,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,tri
10、mf,-3*f2,-1*f2,1*f2);,a=addmf(a,input,2,Z,trimf,-2*f2,0,2*f2);,a=addmf(a,input,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
11、,NM,trimf,-3*f3,-2*f3,0);,a=addmf(a,output,1,NS,trimf,-3*f3,-1*f3,1*f3);,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
12、;,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 4 2 1 1;,2 5 3 1 1;,2 6 4 1 1;,2 7 5 1 1;,e,ec,u,权系数,0-1,与“,1”,或“,0”,a=addrule(a,rulelist);%,添加模糊规则函数,showrule(a)%,显示模糊规则函数,a1=setfis(a,DefuzzMethod,centroid);%,设置模糊系统特性,writefis(a1,fuzzf);%,保存模糊系统,a2=readfis(fuzzf);%,从磁盘读出保存的模糊系统
13、,disp(fuzzy Controller table:e=-3,+3,ec=,-3,+3);%,显示矩阵和数组内容,Ulist=zeros(7,7);%,全零矩阵,for i=1:7,for j=1:7,e(i)=-4+i;,ec(j)=-4+j;,Ulist(i,j)=evalfis(e(i),ec(j),a2);%,完成模糊推理计算,end,end,Ulist=ceil(Ulist)%,朝正无穷方向取整,figure(1);plotfis(a2);,figure(2);plotmf(a,input,1);,figure(3);plotmf(a,input,2);,figure(4);plotmf(a,output,1);,
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。