智能控制MATLAB第一部分_第1页
智能控制MATLAB第一部分_第2页
智能控制MATLAB第一部分_第3页
智能控制MATLAB第一部分_第4页
智能控制MATLAB第一部分_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

1、matlab模糊逻辑工具箱 工具 命令行函数(以 .m文件存放) 图形交互工具(guigraphical user interface) (图形用户界面) 接口仿真逻辑模块(simulink环境) 建立模糊逻辑推理系统 图形交互工具箱提供的图形化工具有五类: 模糊推理系统编辑器fuzzy 隶属度函数编辑器mfedit (membership function) 模糊规则编辑器ruleedit 模糊规则观察器ruleview 模糊推理输入输出曲面视图surfview (surface) 模糊推理系统编辑器fuzzy 处理最顶层构建问题,例如输入输出变量的数目、变量名等 激活(进入)方法:命令窗口

2、(command window)执行 fuzzy命令。 激活模糊推理系统系统编辑器 : 组成 输入模糊变量图形框 双击 mfedit 模糊规则图形框 双击 ruleedit 输出模糊变量图形框 双击 mfedit 基本属性 基本属性包括: 1. 模糊集合合成运算(连接词的运算) and min(最小法) prod(乘积法) or max(最大法) prober(概率法) prober(a,b)=a+b-ab 2. 蕴涵计算(implication) min prod (乘积法) 3. 输出的合成计算aggregation(模糊规则综合采用的方法) aggregation max prober

3、(概率法) sum(求和法) prober(a,b)=a+b-ab 4. 逆模糊化计算(defuzzification) centroid(重心法) mom(平均最大隶属度法) som(最大隶属度函数中的取最小值法)bisector(面积平分法) lom(最大隶属度函数中的取最大值法) 在命令窗口键 入mfedit可激活隶 属度函数编辑器 matlab的fis结构和存储 1、fis(模糊推理系统)结构 模糊推理系统是以一种fis的结构来表示和存储的 访问方法 gui工具 函数 结构名.成员名 2、存储( .fis文件) 访问 readfis读 writefis写 命令函数 1、隶属度函数 函数

4、trimf(表示triangular membership function) 格式:y=trimf(x,a b c) 其中:参数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指定梯形隶 属度函数的形

5、状,该函数在b,c点处取最大值1,a,d点为0。 功能:建立梯形隶属度函数。 例: x=0:0.1:10; y=trapmf(x, 1 5 7 8); plot(x,y) xlable(trapmf,p=1 5 7 8) 函数gaussmf 格式:y=gaussmf(x,sig c) 功能:建立高斯型隶属度函数。 其中:参数x指定变量论域范围,参数c决定了函数的中心 点,sig决定了函数曲线的宽度。 2 1 () 2 x c ye 高斯函数的表达式为: 例: x=0:0.1:10; y=gaussmf(x, 2 5); plot(x,y) xlable(gaussmf,p=2 5) 函数zmf

6、 格式:y=zmf(x,a b) 功能:建立z型隶属度函数。 说明:曲线在(a,b)之间是光滑的样条曲线,在a左 段为1,b右段为0,跳跃点是(a+b)/2。参数x指定变量论 域范围。 例: x=0:0.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,

7、p=2 8) 2、模糊逻辑系统输入输出变量及隶属度函数的添加 函数addvar 功能:向模糊推理系统中添加语言变量。 格式:a=addvar(a, vartype, varname, varbounds) 说明:参数列表中,a为模糊推理系统对应的矩阵变量名, vartype用于指定语言变量的类型为字符型(如input 或output); varname用于指定语言变量的名; varbounds用于指定语言变量的论域范围。 注意:对于添加到同一个模糊推理系统的语言变量,按 先后顺序自动编号,编号从1开始,逐渐递增。对于分属 于输入与输出的不同语言变量则独立地分别编号。 例:a=newfis(ti

8、pper); /创建并返回一个新的fis系统 a=addvar(a,input,service,0 10); getfis(a,input,1) /取得fis的部分或全部属性 函数addmf 功能:向模糊推理系统的语言变量添加隶属度函数。 格式:a=addmf(a, vartype, varindex,mfname,mftype, mfparams) 说明:隶属度函数只能为模糊推理系统中已经存在的某 一语言变量的语言值添加隶属度函数。参数列表中,a为 模糊推理系统对应的矩阵变量名, vartype指定语言变量 类型的字符串(如input或output); varindex指定 语言变量编号的数

9、字;mfname指定隶属度函数名称; mftype指定隶属度函数类型; mfparams指定隶属度函数 的参数。 注意:对于每个语言变量的隶属度函数按该函数被添加的顺 序编号,编号从1开始,依次递增。 例:a=newfis(tipper); a=addvar(a,input,service,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系统相

10、关操作 函数newfis 功能:创建并返回一个新的模糊推理系统。 格式:a=newfis(fisname) 函数readfis 功能:从磁盘中读出并返回模糊推理系统结构变量。 格式:fismat=readfis(filename) 例:fismat=readfis(tipper); /tipper.fis已经存在 说明:打开一个由filename指定的数据文件(.fis),并将 其加载到当前的工作空间(workspace)中的变量fismat中。 函数getfis 功能:取得模糊推理系统的部分或全部属性。 格式:getfis(a) /显示系统所有属性 getfis(a,fisprop) /显示

11、系统某一属性 getfis(a,vartype,varindex,varprop) 例:a=readfis(tipper); getfis(a) 输出结果:name=tipper type=mamdani numinputs=2 例:getfis(a,input,1) 注:属性为input或output时,后面的第三个参数指 定某一个输入或输出语言变量。 输出结果:name=service nummfs=3 mflabels=poor good excellent range=0 10 例:getfis(a,input,1,name) 输出结果:service 函数showfis 功能:以分行

12、的形式显示模糊推理系统矩阵的所有属性。 格式:showfis(fismat) 函数writefis 功能:将以矩阵形式保存在内存中的模糊推理系统的数 据写入磁盘文件中。 格式:writefis(fismat,filename) 例:writefis(a,my_file) type my_file.fis 函数setfis 功能:设置、改变模糊推理系统的属性。 格式:fis2=setfis(fis1,fispropname,newpropvalue) 说明:参数fis1指明模糊推理系统的名称;fispropname 指明模糊推理系统的全局属性; newpropvalue指明此 属性的新值。 例:

13、a=readfis(tipper); a2=setfis(a,defuzzmethod,mom); defuzzification: centroid(重心法:系统默认) mom(平均最大隶属度法) som(最大隶属度函数中的取最小值法)bisector(面积平分法) lom(最大隶属度函数中的取最大值法) 4、系统图形显示函数 函数plotfis 功能:绘制模糊推理系统的推理过程结构框图。 例:plotfis(tipper) 函数plotmf 功能:绘制语言变量所有语言值的隶属度函数曲线。 格式:plotmf(fismat,vartype,varindex) 说明:参数fismat指明模糊推

14、理系统的对应矩阵变量 名称;vartype指明变量类型(input或output); varindex指明输入或输出语言变量的编号。 例: plotmf(a,input,2) 5、模糊规则建立 函数addrule 功能:向模糊推理系统添加模糊规则。 格式:a=addrule(a,rulelist) 说明:参数a为模糊推理系统对应的矩阵变量名称,rulelist 以向量的形式给出需要添加的模糊规则。如果模糊推理系 统有m个输入语言变量和n个输出语言变量,则向量rulelist 的列数必须为m+n+2,而行数等于需要添加的规则数目。 在rulelist的每一行中,前m个数字表示各输入语言 变量的语

15、言值(隶属度函数的编号),随后的n个数字表 示输出语言变量的语言值,第n+m+1个数字是该规则的 权重,权重的值在0到1之间,一般设定为1;第n+m+2 个数字为0或1两者之一,为1表示模糊规则各输入语言 变量之间是and关系,为0则表示是or关系。 函数showrule 格式:showrule(fis) showrule(fis,indexlist) showrule(fis,indexlist,format) 说明:fis为模糊推理系统矩阵变量的名称;indexlist为 规则编号,可以以向量形式指定显示多条规则; format为显示方式,有三种显示方式,即语句方式 (verbose),符

16、号方式(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的每一行是 一个特定的输出向量。 如果输入u是m*n矩阵,则系统是n输入的, 返回的y是m*l矩阵,l是系统的输出的数目。 例:fis=readfis(tipper); out=evalfis(2 1; 4 9,fis) 输出结果:out=7.0169 19.6810

17、 matlab模糊控制系统设计实例1 一、设计目的:了解用matlab模糊工具箱的图形界面可视化 工具实现模糊控制系统的方法。 二、系统设计要求: 1、输入变量:偏差e、偏差变化率de;输出变量:u 相应隶属度函数为: 2、规则要求: 3、反模糊化方法:平均最大隶属度函数法mom。 三、设计步骤: 1、进入matlab系统,在matlab命令窗口执行fuzzy命令即可激 活基本模糊推理系统编辑器,首先增加一个输入变量。 2、在图形界面中通过鼠标双击就能激活隶属度函数编辑器和模糊规 则编辑器等相应的编辑窗口,在窗口中进行相应属性设置即可;再 在模糊推理系统编辑器中设置反模糊化方法。 3、进入ru

18、leview观察器,观察模糊推理系统的输出情况。 四、设计结果要求 1、记录模糊规则编辑器ruleedit中索引indexed方式显示的规则。 2、记录ruleview观察器中模糊推理系统的输出情况: 当e=2,de=1时u为多少?当e=1,de=2时u为多少? 激活模糊推理系统编辑器 : 增加一个输入变量: 双击进入mfedit: 修改每个变量的论域和隶属度函数: trimf三角形(triangular membership function) trapmf(trapezium梯形)gaussmf(高斯型)zmf(z型) smf(s型) nb选哪种 type? 增加隶属度函数个数: pb选哪种 type? tr

温馨提示

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

评论

0/150

提交评论