基于MATLAB的模糊控制系统设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一基于MATLAB的模糊控制系统设计

1.1实验内容

(1)基于MATLAB图形模糊推理系统设计,小费模糊推理系统;

(2)飞机下降速度模糊推理系统设计;

(3)水箱液位模糊控制系统设计及仿真运行。

1.2实验步骤

1小费模糊推理系统设计

(1)在MATLAB的命令窗口输入fuzzy命令,打开模糊逻辑工具箱的图形用户界面窗口,新建一个Madmdani模糊推理系统。

(2)增加一个输入变量,将输入变量命名为service、food,输出变量为tip,这样建立了一个两输入单输出模糊推理系统框架。

(3)设计模糊化模块:双击变量图标打开Membership Fgunction Editor窗口,分别将两个输入变量的论域均设为[0,10],输出论域为[0,30]。

通过增加隶属度函数来进行模糊空间划分。

输入变量service划分为三个模糊集:poor、good和excellent,隶属度函数均为高斯函数,参数分别为[1.50]、[1,55]和[1.510];

输入变量food划分为两个模糊集:rancid和delicious,隶属度函数均为梯形函数,参数分别为[0013]和[791010];

输出变量tip划分为三个模糊集:cheap、average和generous,隶属度函数均为三角形函数,参数分别为[0510]、[101520]和[202530]。

(4)设置模糊规则:打开Rule Editor窗口,通过选择添加三条模糊规则:

①if(service is poor)or(food is rancid)then(tip is cheap)

②if(service is good)then(tip is average)

③if(service is excellent)or(food is delicious)then(tip is generous)

三条规则的权重均为 1.

(5)模糊推理参数均使用默认值,通过曲面观察器(Surface Viewer)查看

小费模糊推理的输入输出关系曲面。通过规则观察器(Rule Viewer)查看对具体输入的模糊推理及输出情况,输入各种不同的数据,查看模糊推理情况及输出数

据。

(6)增加规则,查看曲面的变化、推理输出的变化。

2.飞机下降速度模糊推理系统设计

(1)打开模糊推理逻辑工具箱的图形用户界面,新建一个Sugeno模糊推理系统。

(2)将输入变量命名为height,输出变量为speed,这是一个SISO模糊推理系统。

(3)设计模糊化模块:分别将输入变量的论域设为[0,10],输出论域不用修改。

模糊空间划分:

输入变量height分为五个模糊集:mf1(高斯函数[0.50])、mf2(π函数[0.754

2.58

3.32

4.64])、mf3(π函数[3.19 4.88

5.817.11])、mf4(π函数[

6.362

7.9

8.56

9.54])和mf5(S函数[8.6649.83]);

输出变量speed分为五个与输入模糊空间对应的线性函数:mf1([0.80.2])、

mf2([4.6-4.5])、mf3([10.3-26])、mf4([16-64])和mf5([20-100]).

(4)设置模糊规则:打开Rule Editor窗口,通过选择添加五条模糊规则:

①if(height is mf1)then(speed is mf1)

②if(height is mf2)then(speed is mf2)

③if(height is mf3)then(speed is mf3)

④if(height is mf4)then(speed is mf4)

⑤if(height is mf5)then(speed is mf5)

五条的权重均为1.

模糊推理参数均使用默认值,通过曲面观察器(Surface Viewer)查看飞机降落速度模糊推理的输入输出关系曲面。通过规则观察器(Rule Viewer)查看对具体输入的模糊

推理及输出情况,输入各种不同的数据,查看模糊推理情况及输出数据。

(6)修改规则、隶属度函数参数,查看曲线的变化,修改参数使输入输出关系曲线拟合二次曲线更好。

3水箱液位模糊控制系统设计及仿真运行

(1)打开模糊逻辑工具箱的图形用户界面窗口,新建一个Madmdani模糊推理系统。

(2)增加一个输入变量,将输入变量命名为level、rate,输出变量为valve,这样建立了一个两输入单输出模糊推理系统,保存为tank().fis。

(3)设计模糊化模块:将输入变量rate的论域设为[-0.1,0.1],另外两个变量采用论域[-1,1]。

通过增加隶属度函数来进行模糊空间划分。

输入变量level划分为三个模糊集:high、okay和low,隶属度函数均为高斯函数,参数分别为[0.3-1]、[0.30]和[0.31];

输入变量rate划分为三个模糊集:negative、none和delicious,隶属度函数均为高斯函数,参数分别为[0.03-0.1]、[0.030]和[0.030.1];

输出变量valve划分为五个模糊集:close_fast、close_slow、no_change、open_slow和open_fast,隶属度函数均为三角形函数,参数分别为[-1-0.9 -0.8]、[-0.6-0.5-0.4]、[-0.100.1]、[0.20.30.4]和[0.80.91]。

(4)设置模糊规则:打开Rule Editor窗口,通过选择添加三条模糊规则:

①if(level is okay)then(valve is no_change)

②if(level is low)then(valve is open_fast)

相关文档
最新文档