模糊控制算法PID算法比较分析
电气学院 控制理论与控制工程专业 孔万增 学号:10310073
一:题目
对于已知系统的传递函数为: ,假设系统给定为阶跃值R=10,系统的初始值R(0)=0,试分析设计
常规的PID控制器
常规的模糊控制器
比较两种控制器的控制效果
当通过改变模糊控制器的比例因子时,分析系统响应有什么变化
二:模糊控制器设计△△
控制器采用二维的模糊控制器,其输入信号偏差为e和偏差的变化为的de,在这个例子中我采用的是增量控制方法,所以模糊控制器的其输出量为△U.后面经过一个积分环节,就得到了一个控制信号U.E,dE,△U的模糊论域划分为13个档次,论域取为[-10,10]之间.各个论域E, EC和△U的语言变量为{NB, NS,0,PS,PB}.
一:模糊控制器设计以及结果
%clear;
y=0; %程序变量的初始化
h=0.1;
r=10;
sum=0;
x1_0=0;
a=ones(1,2);
b=ones(1,3000);
c=ones(1,3000);
m=newfis('FuzzyPid'); %设计模糊控制器
m=addvar(m,'input','error',[-100,100]);
m=addmf(m,'input',1,'error<<0','gaussmf',[21.24 -100]);
m=addmf(m,'input',1,'error0','gaussmf',[21.24 50]);
m=addmf(m,'input',1,'error>>0','gaussmf',[21.2 99.5]);
m=addvar(m,'input','de',[-100,100]);
m=addmf(m,'input',2,'de>0','gaussmf',[42.47 100]);
m=addmf(m,'input',2,'de=0','gaussmf',[42.47 0]);
m=addmf(m,'input',2,'de<0','gaussmf',[42.47 -100]);
m=addvar(m,'output','du',[-10,10]);
m=addmf(m,'output',1,'du<<0','gaussmf',[2.124 -10]);
m=addmf(m,'output',1,'du0','gaussmf',[2.124 5]);
m=addmf(m,'output',1,'du>>0','gaussmf',[2.124 10]);
rulelist=[ %产生模糊控制规则
1 0 5 1 1
3 0 3 1 1
5 0 1 1 1
2 3 5 1 1
下一页