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

4 vues (au cours des 30 derniers jours)
Barkat
Barkat le 26 Oct 2017
Commenté : Walter Roberson le 26 Oct 2017
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

Réponse acceptée

Birdman
Birdman le 26 Oct 2017
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 commentaires
Barkat
Barkat le 26 Oct 2017
Modifié(e) : Walter Roberson le 26 Oct 2017
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?
Walter Roberson
Walter Roberson le 26 Oct 2017
Which MATLAB version are you using?

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by