How to find out z, p, and k of SISO transfer function of a plant

3 次查看(过去 30 天)
Dear All, I need to apply zpk command upon my plant just like an attached photo. My plant is given as:
num=[4.16];
den=[1 0.82 0.69];
G=tf(num,den)
what are the z, p, and k for my plant just like in given mathworks example https://www.mathworks.com/help/control/examples/designing-pid-for-disturbance-rejection-with-pid-tuner.html

采纳的回答

Birdman
Birdman 2017-10-26
In your example, the transfer function is defined from the zeros, poles and gain. In this case, zpk will return the same since the system is a second order system. Use the following lines instead:
z=roots(Gs.Numerator{1});
p=roots(Gs.Denominator{1});
k=Gs.Numerator{1};
  2 个评论
Barkat
Barkat 2017-10-26
编辑:Walter Roberson 2017-10-26
Thank you for your reply. I was following a tutorial in mathworks. Its link is https://www.mathworks.com/help/control/examples/designing-pid-for-disturbance-rejection-with-pid-tuner.html
While following this tutorial and running the following command
% Closed-loop system with PI controller for reference tracking
sys1 = feedback(G*C,1);
% Closed-loop system with ISA-PID controller
sys2 = connect(ISAPID,G,{'r','u'},'y');
% Compare responses
step(sys1,'r-',sys2(1),'b.');
legend('show','location','southeast')
title('Reference Tracking')
But the following error occurred
Function 'subsindex' is not defined for values of class 'zpk'.
Function 'subsindex' is not defined for values of class 'ss'.
Can you please go to this link and investigate the error. let me know how to remove this error?

请先登录,再进行评论。

更多回答(0 个)

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by