Matlab模糊控制器的设计以及simulink下对模糊控制器系统的仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab模糊控制器的设计以及simulink下对模糊控制器系统的仿真
————————————————————————————————作者:————————————————————————————————日期:
Matlab模糊控制器的设计以及simulink下对模糊控制器系统的仿真
首先,在Matlab的命令窗口(command window)中输入fuzzy,回车就会出来这样一个窗口:
接下来在上述窗口中进行模糊控制器的设计:
1.双输入,单输出:点击Edit----Add Variable---input
2.为E添加隶属度函数,E的论域为{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},
E的模糊集合为{NB,NM,NS,NZ,PZ,PS,PM,PB},Edit—Membership Function edit,如下图所示:
3.为EB添加隶属度函数,EB的论域为{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},
EB的模糊集合为{NB,NM,NS,ZE,PS,PM,PB},Edit—Membership Function edit,如下图所示:
4.为U添加隶属度函数,U的论域为{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},
U的模糊集合为{NB,NM,NS,ZE,PS,PM,PB},Edit—Membership Function edit,如下图所示:
其中E,EB,U均为模糊量。
5.为模糊控制器设计模糊规则,由于E的语言变量有8个,EB的语言变量有7
个,所以模糊控制器的模糊规则总共有8*7=56条,接下来为模糊控制器添加规则:双击untitled,则有下面的表格:
制定完成后,会形成模糊规则矩阵,系统会根据模糊输入量E,EB,经过模糊控制规则[56条],进而确定输出量U。
6.对输入量模糊化以及对输出量清晰化,我们采取最小最大重心法。
7.点击export—to file. ***#$.fis文件就是所设计的控制器。
8.下面对我们设计的模糊控制器进行检验,所构建的系统如下:
系统分析:
模糊控制器:双输入单输出,输入为误差以及误差的变化率的模糊量,输出为控制量的模糊量,模糊控制器中有56条规则。
给定的信号:给定信号为阶跃响应,给定为100,整个系统是+反馈系统。
实际范围与模糊论域之间的比例关系,又叫量化因子,分别为三个增益:误差0.06,误差变化率0.0005,输出量10,增益必须认真选取,增益必须认真选取,增益的选取对模糊控制器的控制效果有很大的影响。
9.对系统进行仿真结果如下:
仿真结果分析:
由仿真结果可以看到,问题1,系统在14s时已趋于稳定,给定的阶跃信号是100,最终系统却稳定在了83左右;问题2,系统的超调偏大,快速性不好。
问题1,分析原因,这和我们预先设定的规则有关系,在80+时已经默认达到PB,模糊控制器便不再调节,继而稳定在83左右,这也验证了模糊控制器是有差控制。
问题2,分析原因,这和系统的控制规则以及输入输出的增益有关系,具体的改善,可以调节增益值以及修改相关规则改善,但是不能完全消除。