智能控制MATLAB第一部分.ppt

上传人:牧羊曲112 文档编号:5357815 上传时间:2023-06-29 格式:PPT 页数:60 大小:967.50KB
返回 下载 相关 举报
智能控制MATLAB第一部分.ppt_第1页
第1页 / 共60页
智能控制MATLAB第一部分.ppt_第2页
第2页 / 共60页
智能控制MATLAB第一部分.ppt_第3页
第3页 / 共60页
智能控制MATLAB第一部分.ppt_第4页
第4页 / 共60页
智能控制MATLAB第一部分.ppt_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《智能控制MATLAB第一部分.ppt》由会员分享,可在线阅读,更多相关《智能控制MATLAB第一部分.ppt(60页珍藏版)》请在三一办公上搜索。

1、MATLAB模糊逻辑工具箱,工具,命令行函数(以.m文件存放),图形交互工具(GUIGraphical User Interface)(图形用户界面),接口仿真逻辑模块(Simulink环境),图形交互工具箱提供的图形化工具有五类:,模糊推理系统编辑器Fuzzy,隶属度函数编辑器Mfedit(Membership function),模糊规则编辑器Ruleedit,模糊规则观察器Ruleview,模糊推理输入输出曲面视图Surfview(Surface),模糊推理系统编辑器Fuzzy,处理最顶层构建问题,例如输入输出变量的数目、变量名等,激活(进入)方法:命令窗口(command window

2、)执行Fuzzy命令。,激活模糊推理系统系统编辑器:,组成,输入模糊变量图形框,模糊规则图形框,输出模糊变量图形框,基本属性包括:,模糊集合合成运算(连接词的运算),and,min(最小法),prod(乘积法),or,max(最大法),prober(概率法),prober(a,b)=a+b-ab,2.蕴涵计算(Implication),min,prod(乘积法),3.输出的合成计算Aggregation(模糊规则综合采用的方法),Aggregation,max,prober(概率法),sum(求和法),prober(a,b)=a+b-ab,4.逆模糊化计算(Defuzzification),c

3、entroid(重心法),mom(平均最大隶属度法),som(最大隶属度函数中的取最小值法),bisector(面积平分法),lom(最大隶属度函数中的取最大值法),在命令窗口键入mfedit可激活隶属度函数编辑器,MATLAB的FIS结构和存储,1、FIS(模糊推理系统)结构,模糊推理系统是以一种FIS的结构来表示和存储的,访问方法,GUI工具,函数,结构名.成员名,2、存储(.fis文件),访问,readfis读,writefis写,命令函数,1、隶属度函数,函数trimf(表示triangular membership function),格式:y=trimf(x,a b c),其中:参

4、数x指定变量论域范围,参数a,b和c指定三角形函数的形状,该函数在b点处取最大值1,a,c点为0。,例:建立三角形隶属度函数并绘制曲线。x=0:0.1:10;y=trimf(x,3 6 8);plot(x,y)xlable(trimf,P=3 6 8),功能:建立三角形隶属度函数。,函数trapmf(trap表示trapezium梯形),格式:y=trapmf(x,a b c d),其中:参数x指定变量论域范围,参数a,b,c和d指定梯形隶属度函数的形状,该函数在b,c点处取最大值1,a,d点为0。,功能:建立梯形隶属度函数。,例:x=0:0.1:10;y=trapmf(x,1 5 7 8);

5、plot(x,y)xlable(trapmf,P=1 5 7 8),函数gaussmf,格式:y=gaussmf(x,sig c),功能:建立高斯型隶属度函数。,其中:参数x指定变量论域范围,参数c决定了函数的中心点,sig决定了函数曲线的宽度。,高斯函数的表达式为:,例:x=0:0.1:10;y=gaussmf(x,2 5);plot(x,y)xlable(gaussmf,P=2 5),函数zmf,格式:y=zmf(x,a b),功能:建立Z型隶属度函数。,说明:曲线在(a,b)之间是光滑的样条曲线,在a左段为1,b右段为0,跳跃点是(a+b)/2。参数x指定变量论域范围。,例:x=0:0.

6、1:10;y=zmf(x,2 8);plot(x,y)xlable(zmf,P=2 8),函数smf,格式:y=smf(x,a b),功能:建立S型隶属度函数。,说明:曲线在(a,b)之间是光滑的样条曲线,在a左段为0,b右段为1,跳跃点是(a+b)/2。参数x指定变量论域范围。,例:x=0:0.1:10;y=smf(x,2 8);plot(x,y)xlable(smf,P=2 8),2、模糊逻辑系统输入输出变量及隶属度函数的添加,函数addvar,功能:向模糊推理系统中添加语言变量。,格式:a=addvar(a,varType,varName,varBounds),说明:参数列表中,a为模糊

7、推理系统对应的矩阵变量名,varType用于指定语言变量的类型为字符型(如input或output);varName用于指定语言变量的名;varBounds用于指定语言变量的论域范围。注意:对于添加到同一个模糊推理系统的语言变量,按先后顺序自动编号,编号从1开始,逐渐递增。对于分属于输入与输出的不同语言变量则独立地分别编号。,例:a=newfis(tipper);/创建并返回一个新的FIS系统 a=addvar(a,input,service,0 10);getfis(a,input,1)/取得FIS的部分或全部属性,函数addmf,功能:向模糊推理系统的语言变量添加隶属度函数。,格式:a=a

8、ddmf(a,varType,varIndex,mfName,mfType,mfParams),说明:隶属度函数只能为模糊推理系统中已经存在的某一语言变量的语言值添加隶属度函数。参数列表中,a为模糊推理系统对应的矩阵变量名,varType指定语言变量类型的字符串(如input或output);varIndex指定语言变量编号的数字;mfName指定隶属度函数名称;mfType指定隶属度函数类型;mfParams指定隶属度函数的参数。,注意:对于每个语言变量的隶属度函数按该函数被添加的顺序编号,编号从1开始,依次递增。,例:a=newfis(tipper);a=addvar(a,input,se

9、rvice,0 10);a=addmf(a,input,1,poor,guassmf,1.5 0);a=addmf(a,input,1,good,guassmf,1.5 5);a=addmf(a,input,1,excellent,guassmf,1.5 10);plot(a,input,1),3、FIS系统相关操作,函数newfis,功能:创建并返回一个新的模糊推理系统。,格式:a=newfis(fisName),函数readfis,功能:从磁盘中读出并返回模糊推理系统结构变量。,格式:Fismat=readfis(filename),例:fismat=readfis(tipper);/ti

10、pper.fis已经存在,说明:打开一个由filename指定的数据文件(.fis),并将其加载到当前的工作空间(Workspace)中的变量Fismat中。,函数getfis,功能:取得模糊推理系统的部分或全部属性。,格式:getfis(a)/显示系统所有属性 getfis(a,fisprop)/显示系统某一属性 getfis(a,vartype,varindex,varprop),例:a=readfis(tipper);getfis(a),输出结果:Name=tipper Type=mamdani NumInputs=2,例:getfis(a,input,1),注:属性为input或out

11、put时,后面的第三个参数指定某一个输入或输出语言变量。,输出结果:Name=service NumMFs=3 MFLabels=poor good excellent Range=0 10,例:getfis(a,input,1,name),输出结果:service,函数showfis,功能:以分行的形式显示模糊推理系统矩阵的所有属性。,格式:showfis(fismat),函数writefis,功能:将以矩阵形式保存在内存中的模糊推理系统的数据写入磁盘文件中。,格式:writefis(fismat,filename),例:writefis(a,my_file)type my_file.fis

12、,函数setfis,功能:设置、改变模糊推理系统的属性。,格式:FIS2=setfis(fis1,fispropname,newPropValue),说明:参数fis1指明模糊推理系统的名称;fispropname指明模糊推理系统的全局属性;newPropValue指明此属性的新值。,例:a=readfis(tipper);a2=setfis(a,DefuzzMethod,mom);,Defuzzification:,centroid(重心法:系统默认),mom(平均最大隶属度法),som(最大隶属度函数中的取最小值法),bisector(面积平分法),lom(最大隶属度函数中的取最大值法),

13、4、系统图形显示函数,函数plotfis,功能:绘制模糊推理系统的推理过程结构框图。,例:plotfis(tipper),函数plotmf,功能:绘制语言变量所有语言值的隶属度函数曲线。,格式:plotmf(fismat,varType,varIndex),说明:参数fismat指明模糊推理系统的对应矩阵变量名称;varType指明变量类型(input或output);varIndex指明输入或输出语言变量的编号。,例:plotmf(a,input,2),5、模糊规则建立,函数addrule,功能:向模糊推理系统添加模糊规则。,格式:a=addrule(a,rulelist),说明:参数a为模

14、糊推理系统对应的矩阵变量名称,rulelist以向量的形式给出需要添加的模糊规则。如果模糊推理系统有m个输入语言变量和n个输出语言变量,则向量rulelist的列数必须为m+n+2,而行数等于需要添加的规则数目。,在rulelist的每一行中,前m个数字表示各输入语言变量的语言值(隶属度函数的编号),随后的n个数字表示输出语言变量的语言值,第n+m+1个数字是该规则的权重,权重的值在0到1之间,一般设定为1;第n+m+2个数字为0或1两者之一,为1表示模糊规则各输入语言变量之间是and关系,为0则表示是or关系。,函数showrule,格式:showrule(fis)showrule(fis,

15、indexlist)showrule(fis,indexlist,format),说明:fis为模糊推理系统矩阵变量的名称;indexlist为规则编号,可以以向量形式指定显示多条规则;format为显示方式,有三种显示方式,即语句方式(verbose),符号方式(symbolic)和索引方式(indexed)。,例:showrule(a,1:2,indexed)输出结果:1 1,1(1):1 1 2,2(1):1,6、计算模糊推理输出结果函数evalfis,格式:y=evalfis(U,FIS),说明:参数U是输入数据,FIS是模糊推理矩阵。U的每一行是一个特定的输入向量,Y的每一行是一个特

16、定的输出向量。,如果输入U是M*N矩阵,则系统是N输入的,返回的Y是M*L矩阵,L是系统的输出的数目。,例:fis=readfis(tipper);out=evalfis(2 1;4 9,fis),输出结果:out=7.0169 19.6810,MATLAB模糊控制系统设计实例1,一、设计目的:了解用MATLAB模糊工具箱的图形界面可视化工具实现模糊控制系统的方法。,二、系统设计要求:1、输入变量:偏差e、偏差变化率de;输出变量:u相应隶属度函数为:,2、规则要求:,3、反模糊化方法:平均最大隶属度函数法mom。,三、设计步骤:1、进入MATLAB系统,在MATLAB命令窗口执行fuzzy命

17、令即可激活基本模糊推理系统编辑器,首先增加一个输入变量。2、在图形界面中通过鼠标双击就能激活隶属度函数编辑器和模糊规则编辑器等相应的编辑窗口,在窗口中进行相应属性设置即可;再在模糊推理系统编辑器中设置反模糊化方法。3、进入Ruleview观察器,观察模糊推理系统的输出情况。四、设计结果要求1、记录模糊规则编辑器Ruleedit中索引indexed方式显示的规则。2、记录Ruleview观察器中模糊推理系统的输出情况:当e=2,de=1时u为多少?当e=1,de=2时u为多少?,激活模糊推理系统编辑器:,增加一个输入变量:,双击进入Mfedit:,修改每个变量的论域和隶属度函数:,trimf三角

18、形(triangular membership function),trapmf(trapezium梯形),Gaussmf(高斯型),zmf(Z型)smf(S型),NB选哪种Type?,增加隶属度函数个数:,PB选哪种Type?,trapmf(trapezium梯形),Gaussmf(高斯型),zmf(Z型)smf(S型),添加规则:,语句表示的规则:,规则显示方式:,Verbose:语句,Symbolic:符号,Indexed:索引,索引indexed方式显示的规则:,第一条规则1 1,5(1):1是啥意思?,符号symbolic方式显示的规则:,在FIS Editor中设置反模糊化的方法:,进入Ruleview观察器,观察模糊推理系统的输出情况:,1,2,9指的是啥?,当e=2,de=1时u为多少?,当e=1,de=2时u为多少?,保存此FIS系统后:,双击1.fis后的命令行函数:,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号