Clear Filters
Clear Filters

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

4 views (last 30 days)
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.

Answers (1)

Birdman
Birdman on 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 Comments
Birdman
Birdman on 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 on 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

Sign in to comment.

Categories

Find more on Control System Toolbox in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!