基于MATLAB的模糊pi控制器的设计
% 模糊规则隶属函数的建立
a=newfis(‘fuzzypid’);
% 添加第一个输入变量e
a=addvar(a,‘input’,‘e’,[-1,1]);
a=addmf(a,‘input’,1,‘N’,‘zmf’,[-1,-1/3]);
a=addmf(a,‘input’,1,‘Z’,‘trimf’,[-2/3,0,2/3]);
a=addmf(a,‘input’,1,‘P’,‘smf’,[1/3,1]);
% 添加第二个输入变量ec
a=addvar(a,‘input’,‘ec’,[-1,1]);
a=addmf(a,‘input’,2,‘N’,‘zmf’,[-1,-1/3]);
a=addmf(a,‘input’,2,‘Z’,‘trimf’,[-2/3,0,2/3]);
a=addmf(a,‘input’,2,‘P’,‘smf’,[1/3,1]);
% 添加第一个输出变量kp
a=addvar(a,‘output’,‘kp’,1/3*[-10,10]);
a=addmf(a,‘output’,1,‘N’,‘zmf’,1/3*[-10,-3]);
a=addmf(a,‘output’,1,‘Z’,‘trimf’,1/3*[-5,0,5]);
a=addmf(a,‘output’,1,‘P’,‘smf’,1/3*[3,10]);
% 添加第二个输出变量ki
a=addvar(a,‘output’,‘ki’,1/30*[-3,3]);
a=addmf(a,‘output’,2,‘N’,‘zmf’,1/30*[-3,-1]);
a=addmf(a,‘output’,2,‘Z’,‘trimf’,1/30*[-2,0,2]);
a=addmf(a,‘output’,2,‘P’,‘smf’,1/30*[1,3]);