PID控制器设计问题(求助)
我不懂matlab,是仿照书本上程序写的,那位大侠帮我弄下,谢谢了ng0=;dg0=;
g0=tf(ng0,dg0);delta=0.02;Kc=-1;
for Kp1=1:0.1:50;
gt=feedback(Kp1*g0,1);
P=roots(gt.den{1});
for i=1:1:length(P);
if abs(real(P(i)))<=10*eps
Kc=Kp1,Pc=2*pi/abs(imag(P(i))),
break;
end;
end;
if Kc>=0
break;
end
end
Kp=0.6*Kc,Ti=0.5*Pc,Td=0.125*Pc,
ngc=Kp*;dgc=;
gc=tf(ngc,dgc);zpk(gc),
g=feedback(gc*g0,1);
=stepchar(g,delta);pos,ts,
t=;step(g,t);grid on 什么问题? 回复 2 # yufeng 的帖子
Kp =
-0.6000
??? Undefined function or variable 'Pc'.
Error in ==> kongzhi215 at 16
Kp=0.6*Kc,Ti=0.5*Pc,Td=0.125*Pc,
运行完错误提示,不知道咋调 abs(real(P(i)))<=10*eps所有Kp1取值情况下
P(i)的实部没有满足10*eps这一条件的情况存在
所以导致Pc没有被赋值 回复 4 # remix 的帖子
那更改kp范围也不行,是我所控制的系统模型本身的问题么,怎么改呢 个人以为LZ没交代原始问题, 要别人直接从代码给出建议, 可能较为困难些:@)
页:
[1]