Using rlocus() in MATLAB
Show older comments
Hello,
I am trying to plot the root locus of a closed system, with a simple proportional control, and see how it varies with the controller gain K_C. I have a few questions:
1) From the documentaion on rlocus() im slightly confused by which transfer function needs to be used. I need to get the closed loop root locus, does that mean I use the closed loop transfer function (which I do have)? From my understanding of the documentation I should be using the open loop transfer function, but im not sure why.
2) When I use the open loop transfer function, and vary K_C the poles don't change at all as the poles have no dependancy on the value of K_C (K_C is only multiplied by the numerator of the transfer function, and is not present in the denominator). But when I use the closed loop TF which has a K_C in the denominator I see the poles shift.
Here is the transfer function I am running:
%Smallest possible Kc
Kc = 1;
T_ol_num = [100*Kc];
T_ol_den = [8 16 24 32];
sys_ol = tf(T_ol_num, T_ol_den);
%Larger Kc
Kc2 = 10000;
T_ol_num2 = [100*Kc2];
sys_ol2 = tf(T_ol_num2, T_ol_den);
figure;
hold on
rlocus(sys_ol, 'r', sys_ol2, 'b')
There is no difference in output root locus.
Thank you for your help!
Accepted Answer
More Answers (0)
Categories
Find more on Classical Control Design in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
