云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于matlab的模糊控制器的设计与仿真

基于matlab的模糊控制器的设计与仿真

  • 62 次阅读
  • 3 次下载
  • 2025/6/15 8:37:37

基于MATLAB的模糊控制器的设计与仿真 第5页 共11页

a=newfis('fuzzy'); f1=1;

%设置误差e与隶属度函数 a=addvar(a,'input','e',[-6 6]);

a=addmf(a,'input',1,'NB','trapmf',[-6 -6 -5 -3]); a=addmf(a,'input',1,'NS','trapmf',[-5 -3 -2 0]); a=addmf(a,'input',1,'ZR','trimf',[-2 0 2]); a=addmf(a,'input',1,'PS','trapmf',[0 2 3 5]); a=addmf(a,'input',1,'PB','trapmf',[3 5 6 6]); f2=1;

%设置误差变化率ec与隶属度函数 a=addvar(a,'input','ec',[-6 6]);

a=addmf(a,'input',2,'NB','trapmf',[-6 -6 -5 -3]); a=addmf(a,'input',2,'NS','trapmf',[-5 -3 -2 0]); a=addmf(a,'input',2,'ZR','trimf',[-2 0 2]); a=addmf(a,'input',2,'PS','trapmf',[0 2 3 5]); a=addmf(a,'input',2,'PB','trapmf',[3 5 6 6]); f3=1.5;

%设置控制量u与隶属度函数 a=addvar(a,'output','u',[-3 3]);

a=addmf(a,'output',1,'NB','trapmf',[-3 -3 -2 -1]); a=addmf(a,'output',1,'NS','trimf',[-2 -1 0]); a=addmf(a,'output',1,'ZR','trimf',[-1 0 1]); a=addmf(a,'output',1,'PS','trimf',[0 1 2]); a=addmf(a,'output',1,'PB','trapmf',[1 2 3 3]); %建立控制规则表 rulelist=[1 1 5 1 1; 1 2 5 1 1; 1 3 4 1 1; 1 4 4 1 1; 1 5 3 1 1;

2 1 5 1 1; 2 2 4 1 1; 2 3 4 1 1; 2 4 3 1 1; 2 5 3 1 1;

3 1 4 1 1; 3 2 4 1 1; 3 3 3 1 1; 3 4 3 1 1; 3 5 2 1 1;

基于MATLAB的模糊控制器的设计与仿真 第6页 共11页

4 1 4 1 1; 4 2 3 1 1; 4 3 3 1 1; 4 4 2 1 1; 4 5 2 1 1;

5 1 3 1 1; 5 2 3 1 1; 5 3 2 1 1; 5 4 2 1 1; 5 5 1 1 1;];

a=addrule(a,rulelist);

a1=setfis(a,'DefuzzMethod','mom');%设置去模糊化方法 writefis(a1,'fuzzf'); a2=readfis('fuzzf'); Ulist=zeros(7,7); for i=1:7 for j=1:7

e(i)=-4+i; ec(j)=-4+j;

Ulist(i,j)=evalfis([e(i),ec(j)],a2); end end

%绘制FIS系统图形 figure(1); plotfis(a2); figure(2);

plotmf(a,'input',1); figure(3);

plotmf(a,'input',2); figure(4);

plotmf(a,'output',1);

以上程序可得内部原理图如图4(a)所示,输出U的隶属度函数如图4(b)所示,输入E的隶属度函数如图4(c)所示,输入EC的隶属度函数如图4(d)所示:

基于MATLAB的模糊控制器的设计与仿真 第7页 共11页

图4(a) 内部原理图 图 4(b)输出U的隶属度函数

图4(c)输入E的隶属度函数 图4(d)输入EC的隶属度函数

由此,就得到了模糊控制器fuzzy

图 4 6.3.2 利用图形用户界面(GUI)建立模糊推理器(FIS)

在利用 Simulink图形化工具平台设计模糊控制系统模型并进行系统仿真之前 ,同样要先建立相应的模糊推理器 ,这可以通过图形用户界面(GUI)来建立。利用 GUI建立 FIS的过程如下: 1)进入FIS编辑器

在MATLAB的Command Window窗口下,输入fuzzy。此时弹出FIS编辑器,如图5所示:

图5 FIS编辑器

基于MATLAB的模糊控制器的设计与仿真 第8页 共11页

首先,确定模糊控制器的类型和结构。这里选用二输入一输出的模糊控制器。在FIS编辑窗口,选中edit——add variable——input,即可增加一个输入。

2)编辑输入、输出变量的隶属度函数

在FIS编辑器窗口,双击输入模块,在弹出的隶属度函数编辑窗口分别对输入、输出函数进行编辑。输入e的隶属度函数如图6所示:

图6 输入e的隶属度函数

3)编辑模糊控制规则

在窗口中选中edit——rules,进入控制规则编辑器。根据表1所提供的模糊控制规则在编辑器中编写规则,如图7所示:

图7 模糊控制规则

搜索更多关于: 基于matlab的模糊控制器的设计与仿真 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

基于MATLAB的模糊控制器的设计与仿真 第5页 共11页 a=newfis('fuzzy'); f1=1; %设置误差e与隶属度函数 a=addvar(a,'input','e',[-6 6]); a=addmf(a,'input',1,'NB','trapmf',[-6 -6 -5 -3]); a=addmf(a,'input',1,'NS','trapmf',[-5 -3 -2 0]); a=addmf(a,'input',1,'ZR','trimf',[-2 0 2]); a=addmf(a,'input',1,'PS','trapmf',[0 2 3 5]); a=addmf(a,'input',1,'PB','trapmf',[3 5

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com