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

50 visualizaciones (últimos 30 días)
Alexandra Weever
Alexandra Weever el 14 de Mzo. de 2021
Editada: Paul el 14 de Mzo. de 2021
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)

Respuesta aceptada

Paul
Paul el 14 de Mzo. de 2021
Editada: Paul el 14 de Mzo. de 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.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by