先进PID控制及MATLAB仿真第3章专家PID学习心得及疑问 因为课题需要,刚开始学习专家控制器matlab 仿真,用的是刘金锟 先进PID控制及MATLAB仿真
有一些问题想和大家交流,向大家请教
1、第三章 专家PID 中,第一条规则应按最大输出
在 p96 例 3-1 中输出分别为0
如果我的输入信号不是阶跃信号,而是从 0 到 1 缓慢变化的s 形曲线,如 v =[1-cos(pi/50*t)]*735
输出还可以设定为0
2、专家PID 控制中第二条规则当误差处在增大阶段,前面讲的输出为 , 而例 3-1 中 ru le2 输出 u (k)=u _1+1
5*kp*x (1)
这与上式为什么不同
我觉得kp*x (2)+ki*x (1)+kd*[x (2)-x 2_1]等于 u (k)的导数,对不对
它与 kp*x (1)相等吗
为什么在例 3-1 中不用
3、假设某时刻误差处在变大阶段,且 x (1)=0
程序执行时首先执行 ru le1,因为误差大于 0
2,则 u (k)= 0
然后再判断 ru le2,因为条件也满足,误差值在变大,也大于 0
05 所以 u (k)又变为u _1+1
5*kp*x (1)
这样程序是不是存在二义性
而且在我应用此算法仿真一五阶系统时(详见附件),ru le5误差值小于 0
001,则输出震荡,而改为0
1,则输出正常
这样,很多时候,只要误差小于 0
1,则执行 ru le1,u (k)先等于 0
1,再执行 ru le2,等于 u _1+1
5*kp*x (1),再执行 ru le5,等于 0
4*x (1)+0
475*x (3)
这样,使得ru le2、ru le4 根本就不起作用
我觉得各误差段应既无遗漏又不重叠