马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我不懂matlab,是仿照书本上程序写的,那位大侠帮我弄下,谢谢了
ng0=[189.09];dg0=[1,20.62,13680.76,0];
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*[Ti*Td,Ti,1];dgc=[Ti,0];
gc=tf(ngc,dgc);zpk(gc),
g=feedback(gc*g0,1);
[pos,tr,ts,tp]=stepchar(g,delta);pos,ts,
t=[0:0.001:1.5*ts];step(g,t);grid on |