How to graph the closed-loop response of MIMO Control System?
2 次查看(过去 30 天)
显示 更早的评论
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.
0 个评论
回答(1 个)
Birdman
2018-4-14
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 个评论
Birdman
2018-4-14
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Classical Control Design 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!