I want to find where the root locus branches cross the y axis.

48 views (last 30 days)
I would like to find where the root locus branches cross the y axis. I have used the following code to plot the root locus and I am unsure how to continue. I am quite new to matlab and mathworks so I am not sure how to frame my questions properly.
%Numerically calculate the roots of the characteristic equation for various values of K
clear
close all
%variables
m=0.0005;
tau=2.705;
f=0.0034;
kfan=0.00338;
figure
hold on
for K=0.5:0.0:8.0
Delta = [m*tau (f*tau+m) f K*kfan*f];
poles = roots(Delta);
plot(real(poles), imag(poles), 'rx')
title([ 'K = ',num2str(K) ])
axis([-8 8 -5 5])
grid on
end
% kfan*f
%G1(s) = ------------------
% s(ms+f)(1+taus)
G1_num = [kfan*f];
G1_den = [m*tau (f*tau+m) f 0]
G1 = tf(G1_num,G1_den)
figure
rlocus(G1)

Accepted Answer

Paul
Paul on 14 Mar 2021
Edited: Paul on 14 Mar 2021
One option would be to use the return values of rlocus:
[r,K]=rlocus(G1)
to get a coarse idea of the value of K that results in the real(r) == 0. Then refine by using a user-specified value of K
r = rlocus(G1,K)
until you narrow in as close as you want.
More precisely, the answer is determined by solving:
G1_den(1j*w) + K*G1_num(1j*w) = 0 for K and w, i.e., both real and imaginary parts of the lhs are equal to 0, so two equations in two unknowns, which might not be so bad to solve by hand for this problem, and would be a bit easier is you're allowed to use the Symbolic Math Toolbox.
There are other ways to attack the problem as well depending on how much you're allowed to use Matlab to help.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!