模糊逻辑工具箱在Simulink中…

下面用一个简单的例子作介绍:

(本例不是特别针对实现什么功能,只是为了介绍方便)

第一部分 创建一个模糊逻辑(.fis文件)

第一步:打开模糊推理系统编辑器

步骤:

在Commond Window 键入fuzzy

回车

[转载]模糊逻辑工具箱在Simulink中的使用
打开如下窗口,既模糊推理系统编辑器
[转载]模糊逻辑工具箱在Simulink中的使用

第二步:使用模糊推理系统编辑器

本例用到两个输入,两个输出,但默认是一个输人,一个输出

步骤:

1、添加一个输入 

[转载]模糊逻辑工具箱在Simulink中的使用
 添加一个输出
[转载]模糊逻辑工具箱在Simulink中的使用
得如下图

[转载]模糊逻辑工具箱在Simulink中的使用
2、选择Input、output(选中为红框),在Name框里修改各输入的名称

并将And method 改为prod,将Or method 改为 probor

[转载]模糊逻辑工具箱在Simulink中的使用
提示:在命名时’_’在显示时为下标,可从上图看出。

第三步:使用隶属函数编辑器

该编辑器提供一个友好的人机图形交互环境,用来设计和修改模糊推理系中各语言变量对应的隶属度函数的相关参数,如隶属度函数的形状、范围、论域大小等,系统提供的隶属度函数有三角、梯形、高斯形、钟形等,也可用户自行定义。

步骤:

1、 双击任何一个输入量(In_xIn_y)或输出量打开隶属度函数编辑器。

[转载]模糊逻辑工具箱在Simulink中的使用
2、在左下处RangeDisplay Range处添加取值范围,本例中In_xIn_y的取值范围均为[0 10], Out_xOut_y的取值范围均为[0 1]

3、默认每个输入输出参数中都只有3个隶属度函数,本例中每个输入输出参数都需要用到五个,其余几个需要自己添加:

选中其中一个输入输出参数

点击Edit菜单,选Add MFS…打开下列对话框

[转载]模糊逻辑工具箱在Simulink中的使用
MF type设置为trimf(三角形隶属度函数曲线,当然你也需要选择其他类型)

Number of MFs 设置为2

点击OK按钮

同样给其他三个加入隶属度函数

4、选中任何一个隶属度函数(选中为红色),在Name 中键入名称,在Type中选择形状,在Params中键入范围,然后回车如下图:

[转载]模糊逻辑工具箱在Simulink中的使用
本例中:In_x,In_y隶属度函数相同,如下

 

Name

Type

Params

IXL2IYL2

zmf

[1 1.5]

IXL1IYL1

trimf

[1 2.5 4]

IXZIYZ

trimf

[3 5 7]

IXR1IYR1

trimf

[6 7.5 9]

IXR2IYR2

smf

[8.5 9]

 

 

 

 

 

 

Out_x,Out_y隶属度函数相同,如下:

Name

Type

Params

OXL2OYL2

zmf

[0.1 0.15]

OXL1OYL2

trimf

[0.1 0.25 0.4]

OXZOYZ

trimf

[0.3 0.5 0.7]

OXR1OYR1

trimf

[0.6 0.75 0.9]

OXR2OYR2

smf

[0.85 0.9]

 

 

 

 

 


[转载]模糊逻辑工具箱在Simulink中的使用
5、关闭隶属函数编辑器

第四步:使用规则编辑器

通过隶规则编辑器来设计和修改“IF...THEN”形式的模糊控制规则。由该编辑器进行模糊控制规则的设计非常方便,它将输入量各语言变量自动匹配,而设计者只要通过交互式的图形环境选择相应的输出语言变量,这大大简化了规则的设计和修改。另外,还可为每条规则选择权重,以便进行模糊规则的优化。

步骤:

1、打开规则编辑器

点击Edit菜单,选Rules…

[转载]模糊逻辑工具箱在Simulink中的使用
 打开下了对话框

[转载]模糊逻辑工具箱在Simulink中的使用
 2、添加规则

选中IXL2,IYL2,OXL2,none(表示不被选中任何隶属度函数),and选项,权重Weight均设为1,然后点击Add rule 添加规则,同理添加其他规则。

下图为添加所有role后:

 

 

[转载]模糊逻辑工具箱在Simulink中的使用
3、关闭规则编辑器

 

第五步:保存并查看结果

步骤:

1、 保存

[转载]模糊逻辑工具箱在Simulink中的使用
 保存为Test.fis

2View->Rules打开Rule Viewer

 

 

[转载]模糊逻辑工具箱在Simulink中的使用
3View->Surface打开Surface Viewer

[转载]模糊逻辑工具箱在Simulink中的使用
 

第二部分:将模糊逻辑添加到Simulink

第一步:创建一个Simulink文件

步骤:

1、打开Simulink

[转载]模糊逻辑工具箱在Simulink中的使用
 

2、点击新建按钮建立一个新的.mdl文件

[转载]模糊逻辑工具箱在Simulink中的使用
 

第二步:添加模糊逻辑

步骤:

1、在Simulink Library Brower 的搜索框内键入Fuzzy Logic Controller找到Fuzzy Logic Controller并将其拖拽到新建的mdl文件中

[转载]模糊逻辑工具箱在Simulink中的使用

2、双击Fuzzy Logic Controller,打开如下对话框,比在其内部键入Test

[转载]模糊逻辑工具箱在Simulink中的使用
 

3、关闭对话框

第三步:添加其他模块

如下图,都是常用模块,请自己添加

[转载]模糊逻辑工具箱在Simulink中的使用

第四步:保存并运行

步骤:

1、 保存为Test.mdl

2、 初始化模糊逻辑控制器,即在Command Window中键入Test = readfis('Test.fis'),回车

[转载]模糊逻辑工具箱在Simulink中的使用

1、 运行Test.mdl

这里可以比较一下结果

[转载]模糊逻辑工具箱在Simulink中的使用

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值