Using rlocus() in MATLAB
显示 更早的评论
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!
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Classical Control Design 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

