模糊控制设计器

模糊控制设计器

在这里插入图片描述
定义
模糊规则的形式为:if x is A then y is B。其中A和B为由论域X和Y上的模糊集合定义的语言值。“x is A”称为前提,“y is B”称为结论。
以上模糊规则可以简写为A → B。本质上模糊规则是定义在X × Y上的二元模糊关系R。A → B有两种解释,一种是A耦合(coupled with)B,另一种是A导致(entails)B。基于这两种解释和不同的tnorm, tconorm算子,模糊规则可以有多种合法的计算公式。

代码

%模糊控制器设计
a=newfis(‘fuzzf’); %创建新的模糊推理系统

%输入1
f1=1;
a=addvar(a,‘input’,‘e’,[-3f1,3f1]);
%添加 e 的模糊语言变量
a=addmf(a,‘input’,1,‘NB’,‘zmf’,[-3f1,-1f1]);
%添加 e 的模糊语言变量的隶属度函数(z型)
a=addmf(a,‘input’,1,‘NM’,‘trimf’,[-3f1,-2f1,0]);
%隶属度函数为三角形
a=addmf(a,‘input’,1,‘NS’,‘trimf’,[-3f1,-1f1,1f1]);
a=addmf(a,‘input’,1,‘Z’,‘trimf’,[-2
f1,0,2f1]);
a=addmf(a,‘input’,1,‘PS’,‘trimf’,[-1
f1,1f1,3f1]);
a=addmf(a,‘input’,1,‘PM’,‘trimf’,[0,2f1,3f1]);
a=addmf(a,‘input’,1,‘PB’,‘smf’,[1f1,3f1]);

%输出
f3=1.5;
a=addvar(a,‘output’,‘u’,[-3f3,3f3]);
%添加 u 的模糊语言变量
a=addmf(a,‘output’,1,‘NB’,‘zmf’,[-3f3,-1f3]);
a=addmf(a,‘output’,1,‘NM’,‘trimf’,[-3f3,-2f3,0]);
a=addmf(a,‘output’,1,‘NS’,‘trimf’,[-3f3,-1f3,1f3]);
a=addmf(a,‘output’,1,‘Z’,‘trimf’,[-2
f3,0,2f3]);
a=addmf(a,‘output’,1,‘PS’,‘trimf’,[-1
f3,1f3,3f3]);
a=addmf(a,‘output’,1,‘PM’,‘trimf’,[0,2f3,3f3]);
a=addmf(a,‘output’,1,‘PB’,‘smf’,[1f3,3f3]);

%规则库
rulelist=[1 1 1 1 1; %编辑模糊规则,后俩个数分别是规则权重和AND OR选项
1 2 1 1 1;
1 3 1 1 1;
1 4 2 1 1;
1 5 2 1 1;
1 6 3 1 1;
1 7 4 1 1;

           2 1 1 1 1;
           2 2 2 1 1;
           2 3 2 1 1;
           2 4 2 1 1;
           2 5 3 1 1;
           2 6 4 1 1;
           2 7 5 1 1;

利用MATLAB提供的模糊逻辑工具箱函数
创建一个新的模糊推理系统(模糊控制器)
输入输出的量化等级都为7级
e、 ec、 u ={-3,-2,-1,0, 1,2, 3}各取7个语言值,可取:模糊子集:小、零、正小、正中、正大e、ec的论域=[-3, 3]u的论域=[-4. 5, 4. 5]隶属度函数任意确定。

运行结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
新增规则:
3 1 1 1 1
3 2 2 1 1
3 3 3 1 1
3 4 3 1 1
3 5 4 1 1
3 6 5 1 1
3 7 6 1 1

           4 1 1 1 1
           4 2 3 1 1
           4 3 3 1 1 
           4 4 3 1 1
           4 5 4 1 1
           4 6 5 1 1
           4 7 6 1 1];

在这里插入图片描述
在这里插入图片描述

发布了11 篇原创文章 · 获赞 0 · 访问量 1042

猜你喜欢

转载自blog.csdn.net/likepanda99/article/details/102683624