Filter löschen
Filter löschen

How to graph the closed-loop response of MIMO Control System?

4 Ansichten (letzte 30 Tage)
Mr. NailGuy
Mr. NailGuy am 14 Apr. 2018
Kommentiert: Mr. NailGuy am 14 Apr. 2018
Hi everyone,
I have MIMO transfer function matrix G and controller K given
G = [10.014/(1+15.021*s) -0.5/(1+10.014*s); 0.5/(1+5.007*s) 5.007/(1+20.028*s)]
K= k*eye(2)
How would I plot the step response and bode plot of the closed loop system with a unity feedback gain as attached in the picture? I used the code below but I have doubts if this is as straight forward as this.
CL = feedback(G*K,eye(2))
step(CL)
bode(CL)
Would be very glad to hear your response on this.

Antworten (1)

Birdman
Birdman am 14 Apr. 2018
Actually what you did to obtain closed loop forms is wrong. I suggest you to obtain them in a for loop separately as follows:
s=tf('s');
k=1;
G = [10.014/(1+15.021*s) -0.5/(1+10.014*s); 0.5/(1+5.007*s) 5.007/(1+20.028*s)];
for i=1:size(G,1)
for j=1:size(G,2)
CL(i,j)=feedback(G(i,j)*k,1);
end
end
figure(1);
step(CL);
figure(2);
bode(CL);
This gives the correct closed loop forms and plots the correct step responses and Bode plots.
  7 Kommentare
Birdman
Birdman am 14 Apr. 2018
If you explicitly provide gains for the systems, then you need to define k as a matrix as well, as follows:
k=[1 -1;1 1];
and also a change in for loop,
CL(i,j)=feedback(G(i,j)*k(i,j),1);
with this, you will provide negative feedback for your unstable plant. Hope this answers your question.
Mr. NailGuy
Mr. NailGuy am 14 Apr. 2018
Hi Birdman, my gain K is equals to k*eye(2) where k is a scalar (1,5,10,etc.) So the gain K is always a diagonal matrix. Thanks

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Control System Toolbox finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by