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

3 Ansichten (letzte 30 Tage)
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

Akzeptierte Antwort

Birdman
Birdman am 26 Okt. 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 Kommentare
Barkat
Barkat am 26 Okt. 2017
Bearbeitet: Walter Roberson am 26 Okt. 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 am 26 Okt. 2017
Which MATLAB version are you using?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by