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

조회 수: 4 (최근 30일)
Barkat
Barkat 2017년 10월 26일
댓글: Walter Roberson 2017년 10월 26일
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?
Walter Roberson
Walter Roberson 2017년 10월 26일
Which MATLAB version are you using?

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

태그

Community Treasure Hunt

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

Start Hunting!

Translated by