模糊逻辑工具箱在Simulink中的使用Word下载.docx
《模糊逻辑工具箱在Simulink中的使用Word下载.docx》由会员分享,可在线阅读,更多相关《模糊逻辑工具箱在Simulink中的使用Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
步骤:
在CommondWindow
键入fuzzy
回车
打开如下窗口,既模糊推理系统编辑器
第二步:
使用模糊推理系统编辑器
本例用到两个输入,两个输出,但默认是一个输人,一个输出
1、添加一个输入
添加一个输出
得如下图
2、选择Input、output(选中为红框),在Name框里修改各输入的名称
并将Andmethod
改为prod,将Ormethod
改为
probor
提示:
在命名时’_’在显示时为下标,可从上图看出。
第三步:
使用隶属函数编辑器
该编辑器提供一个友好的人机图形交互环境,用来设计和修改模糊推理系中各语言变量对应的隶属度函数的相关参数,如隶属度函数的形状、围、论域大小等,系统提供的隶属度函数有三角、梯形、高斯形、钟形等,也可用户自行定义。
1、
双击任何一个输入量(In_x、In_y)或输出量打开隶属度函数编辑器。
2、在左下处Range和DisplayRange处添加取值围,本例中In_x和In_y的取值围均为[010],Out_x和Out_y的取值围均为[01]
3、默认每个输入输出参数中都只有3个隶属度函数,本例中每个输入输出参数都需要用到五个,其余几个需要自己添加:
选中其中一个输入输出参数
点击Edit菜单,选AddMFS…打开下列对话框
将MFtype设置为trimf(三角形隶属度函数曲线,当然你也需要选择其他类型)
将NumberofMFs
设置为2
点击OK按钮
同样给其他三个加入隶属度函数
4、选中任何一个隶属度函数(选中为红色),在Name
中键入名称,在Type中选择形状,在Params中键入围,然后回车如下图:
本例中:
In_x,In_y隶属度函数相同,如下
Name
Type
Params
IXL2\IYL2
zmf
[11.5]
IXL1\IYL1
trimf
[12.54]
IXZ\IYZ
[357]
IXR1\IYR1
[67.59]
IXR2\IYR2
smf
[8.59]
Out_x,Out_y隶属度函数相同,如下:
OXL2\OYL2
[0.10.15]
OXL1\OYL2
[0.10.250.4]
OXZ\OYZ
[0.30.50.7]
OXR1\OYR1
[0.60.750.9]
OXR2\OYR2
[0.850.9]
5、关闭隶属函数编辑器
第四步:
使用规则编辑器
通过隶规则编辑器来设计和修改“IF...THEN”形式的模糊控制规则。
由该编辑器进行模糊控制规则的设计非常方便,它将输入量各语言变量自动匹配,而设计者只要通过交互式的图形环境选择相应的输出语言变量,这大大简化了规则的设计和修改。
另外,还可为每条规则选择权重,以便进行模糊规则的优化。
1、打开规则编辑器
点击Edit菜单,选Rules…
打开下了对话框
2、添加规则
选中IXL2,IYL2,OXL2,none(表示不被选中任何隶属度函数),and选项,权重Weight均设为1,然后点击Addrule
添加规则,同理添加其他规则。
下图为添加所有role后:
3、关闭规则编辑器
第五步:
保存并查看结果
保存
保存为Test.fis
2、View->
Rules打开RuleViewer
3、View->
Surface打开SurfaceViewer
第二部分:
将模糊逻辑添加到Simulink中
创建一个Simulink文件
1、打开Simulink
2、点击新建按钮建立一个新的.mdl文件
添加模糊逻辑
1、在SimulinkLibraryBrower
的搜索框键入FuzzyLogicController找到FuzzyLogicController,并将其拖拽到新建的mdl文件中
2、双击FuzzyLogicController,打开如下对话框,并在其部键入Test
3、关闭对话框
添加其他模块
如下图,都是常用模块,请自己添加
保存并运行
保存为Test.mdl
2、
初始化模糊逻辑控制器,即在CommandWindow中键入Test=readfis('
Test.fis'
),回车
运行Test.mdl
这里可以比较一下结果