模糊控制器设计
一、定义
模糊控制是模仿人的思维方式和人的控制经验来实现的一种控制。把模糊集合的理论应用于控制就可以把人的经验形式化,在控制过程中实现模糊推理与决策
二、步骤
1.确定输入输出变量
2.设计控制规则
3.确立模糊化和非模糊化方法
4.选择输入输出变量的论域并确定参数
5.编程
三、实验过程
1.改变输入变量e、ec的模糊隶属形态
2.制定规则
3.输出结果
四、代码
%模糊控制器设计
a=newfis('fuzzf'); %创建新的模糊推理系统
%输入1
f1=1;
a=addvar(a,'input','e',[-5*f1,5*f1]);
%添加 e 的模糊语言变量
a=addmf(a,'input',1,'NB','zmf',[-3*f1,-1*f1]);
%添加 e 的模糊语言变量的隶属度函数(z型)
a=addmf(a,'input',1,'NM','trimf',[-3*f1,-2*f1,0]);
%隶属度函数为三角形
a=addmf(a,'input',1,'NS','trimf',[-3*f1,-1*f1,1*f1]);
a=addmf(a,'input',1,'Z','trimf',[-2*f1,0,2*f1]);
a=addmf(a,'input',1,'PS','trimf',[-1*f1,1*f1,3*f1]);
a=addmf(a,'input',1,'PM','trimf',[0,2*f1,3*f1]);
a=addmf(a,'input',1,'PB','smf',[1*f1,3*f1]);
%输入2
f2=1;
a=addvar(a,'input','ec',[-5*f2,5*f2]);
%添加 ec 的模糊语言变量
a=addmf(a,'input',2,'NB','zmf',[-3*f2,-1*f2]);
a=addmf(a,'input',2,'NM','trimf',[-3*f2,-2*f2,0]);
a=addmf(a,'input',2,'NS','trimf',[-3*f2,-1*f2,1*f2]);
a=addmf(a,'input',2,'Z','trimf',[-2*f2,0,2*f2]);
a=addmf(a,'input',2,'PS','trimf',[-1*f2,1*f2,3*f2]);
a=addmf(a,'input',2,'PM','trimf',[0,2*f2,3*f2]);
a=addmf(a,'input',2,'PB','smf',[1*f2,3*f2]);
%输出
f3&#