资源链接
MATLAB实现智能计算方法课程所有实验代码资源链接为:MATLAB实现智能计算方法课程所有实验代码资源
实验汇总
MATLAB实现智能计算方法课程所有实验汇总博客链接为:MATLAB实现智能计算方法实验汇总
实验目的
- 通过本次实验,进一步理解模糊控制的基本原理、模糊模型的建立、模糊控制器的设计过程;
- 掌握MATLAB模糊逻辑工具箱的图形用户界面设计模糊控制器的过程。
实验内容
利用Fuzzy工具箱,设计洗衣机洗涤时间的模糊控制器,已知人的操作经验为:
- 污泥越多,油脂越多,洗涤时间越长;
- 污泥适中,油脂适中,洗涤时间适中;
- 污泥越少,油脂越少,洗涤时间越短。
X | Y | z |
SD | NG | VS |
SD | MG | M |
SD | LG | L |
MD | NG | S |
MD | MG | M |
MD | LG | L |
LD | NG | M |
LD | MG | L |
LD | LG | VL |
其中,SD(污泥少)、MD(污泥中)、LD(污泥多)、NG(油脂少)、MG(油脂中)、LG(油脂多)、VS(洗涤时间很短)、S(洗涤时间短)、M(洗涤时间中等)、L(洗涤时间长)、VL(洗涤时间很长)。
- 假设污泥、油脂、洗涤时间的论域分别为0-100,0-100,1-120,用fuzzy工具箱设计相应的模糊推理系统,给出具体的步骤和输入、输出语言变量的隶属函数图、模糊控制规则表和推理结论立体图。
- 假定污泥=60,油脂=70,给出推理图和结果。
实验步骤
1. 实验准备
在命令行中输入fuzzy,打开模糊控制工具箱,如下图所示。
图1.1 模糊控制工具箱
单击Edit→Add Variable→Input添加一个输入,将整个模糊控制系统设置为两个输入,一个输出,如图1.2所示。
图1.2 模糊系统设置
2. 输入模块
- 污泥输入模块
将input1的名字设置为soil,表示污泥输入量。双击soil,依此选中函数曲线,将三条函数曲线的名字分别设置为SD、MD、LD,Type设置为gauss2mf,range设置为[0 100]。设置结果如下图所示。
图2.1 污泥输入模块
- 油脂输入模块
同理油脂输入的隶属函数图设置如下图2.2。
图2.2 油脂输入模块
3. 输出模块
将output1的名字设置为time,表示洗涤时间。双击time,单击状态栏的Edit→Remove All MFs,将图中的所有曲线移除,然后单击Edit→Add MFs弹出如图所示对话框,将MF type设置为gauss2mf,Number of MFs设置为5。最终将time的隶属函数曲线设置为5条。
图3.1 设置隶属函数曲线
依此选中函数曲线,将五条函数曲线的名字分别设置为VS、S、M、L、VL,range设置为[1 120]。设置结果如下图所示。
图3.2 输出模块设置结果
4. 模糊控制规则表
依据上表,添加推理规则如下图4.1。
图4.1 模糊控制规则表
实验结果
单击View→surface得到推理结论立体图如下。
图5.1 推理结论立体图
单击View→Rules,得到推理图,将Input设置为[60;70],得到此时的推理结果如图。通过图像易知洗涤时间为61.9。
图5.2 推理结果