Control:

Root Locus

Table of Contents





1. Motivation for Root Locus

For example, consider the system:



$$ G(s) = \frac{s^2 + s + 1}{s^3 + 4s^2 + K s + 1} $$


An unknown parameter $K$ appears in the denominator and affects the location of the system's poles.


The poles of the system are the roots of the characteristic equation:


$$ s^3 + 4s^2 + \color{red}{K} s + 1 = 0 $$


How should we choose $K$ to meet specific performance requirements (e.g., stability, damping ratio, or settling time)?


To address this question, we can analyze the effect of $K$ on:

  • The location of poles in the complex $s$-plane
  • The dominant pole pair affecting the transient response
  • Root locus plots, which show how poles move as $K$ varies

By selecting $K$ such that all poles lie in the left half-plane, we ensure stability. To achieve good damping and fast settling, we aim to position dominant poles further left and away from the imaginary axis.

This motivates the use of analytical tools like Routh-Hurwitz, root locus, or numerical root finding to evaluate how different values of $K$ impact the pole locations.





2. Root Locus

The root locus technique is a graphical method for examining how the roots (poles) of a closed-loop system move in the complex plane as a system parameter (typically gain $K$) varies.


2.1. Closed-Loop System and Root Locus Equation

Given an open-loop transfer function $G(s)$, the standard negative feedback configuration yields a closed-loop transfer function:



$$ T(s) = \frac{K G(s)}{1 + K G(s)} $$


The same denominator system is



$$T(s) = {G(s) \over 1 + KG(s)}$$


The characteristic equation, which determines the poles of the closed-loop system, is:


$$ 1 + K G(s) = 0 $$


The root locus is the plot of all possible closed-loop pole locations in the complex plane as the gain $K$ varies from 0 to $\infty$.


Example

Suppose you are given the following open-loop system:



Then the characteristic equation:


$$ s^3 + 4s^2 + K s + 1 = 0 $$


This equation does not yet appear in the root locus standard form $1 + K G(s) = 0$. To analyze it, we must first isolate the gain term $K$. Rewrite as:


$$ 1 + K \cdot \frac{s}{s^3 + 4s^2 + 1} = 0 $$


Thus, the equivalent open-loop transfer function is:


$$ G(s) = \frac{s}{s^3 + 4s^2 + 1} $$


and the corresponding closed-loop transfer function becomes:


$$ T(s) = \frac{K s}{s^3 + 4s^2 + K s + 1} $$


Now the system is in proper root-locus form.



Key Insight:
To analyze or sketch a root locus, always convert the system’s characteristic equation into the standard form $1 + K G(s) = 0$. Only then can root locus theory and tools (like MATLAB) be correctly applied.



2.2. Definition: Root Locus

The root locus is a graphical method used to analyze and design control systems by examining how the closed-loop poles of a system vary as a single parameter - typically the loop gain $K$ - is varied from 0 to $\infty$.



How can we predict or control the movement of closed-loop poles as the gain $K$ changes?

This is a central question in control system design.



The root locus provides a powerful graphical method to answer this question. It allows engineers to:

  • Visually assess how the locations of closed-loop poles evolve in the complex plane as the gain $K$ varies from 0 to ∞
  • Select an appropriate value of $K$ to achieve desired transient and steady-state performance
  • Analyze system stability, damping, and oscillatory behavior without solving high-degree characteristic equations

Advantages of the Root Locus Method

  • Offers an intuitive, geometric interpretation of how feedback gain affects system dynamics

  • Enables quick, approximate sketches of root movement for higher-order systems

  • Provides insight into key system properties such as:

    • Stability (whether poles lie in the left or right half-plane)
    • Transient response (determined by the distance of poles from the origin)
    • Oscillations (related to the imaginary part of complex poles)
    • Dominant pole behavior

You may not always need to compute exact closed-loop poles,
but an approximate root locus sketch gives immediate qualitative insight into how the system will behave.


Closed-Loop Transfer Function



For a unity-feedback system with open-loop transfer function $G(s)$, the closed-loop transfer function is:


$$ H(s) = \frac{K G(s)}{1 + K G(s)} $$


The poles of the closed-loop system are the values of $s$ that satisfy the characteristic equation:


$$ 1 + K G(s) = 0 $$


or equivalently:


$$ K G(s) = -1 = 1 \angle (2k + 1)\pi, \quad k = 0, \pm 1, \pm 2, \ldots $$


Root Locus Conditions

A point $s^*$ in the complex plane is on the root locus if and only if:


$$ \begin{cases} \angle KG(s^*) = (2k+1)\pi \quad &\text{(angle condition)} \\\\ |KG(s^*)| = 1 \quad &\text{(magnitude condition)} \end{cases} $$


For any $s^*$ that satisfies the angle condition, the corresponding gain is:


$$ K = \frac{1}{|G(s^*)|} $$



2.3. Root Locus Construction: The Eight Rules

To sketch the root locus of a feedback system


$$ H(s) = \frac{KG(s)}{1 + KG(s)} $$


we analyze the characteristic equation:


$$ 1 + K \frac{Q(s)}{P(s)} = 0 \quad \Rightarrow \quad P(s) + K Q(s) = 0 $$


where:

  • $P(s)$: denominator of the open-loop transfer function $G(s)$
  • $Q(s)$: numerator of the open-loop transfer function $G(s)$

The closed-loop poles are the roots of this equation as the gain $K$ varies from $0$ to $\infty$.

The following eight rules provide the foundation for sketching the root locus by hand.


Rule 1: Number of Branches

The root locus consists of $n$ branches, where:


$$ n = \max(\deg P(s), \deg Q(s)) $$


Each branch represents the trajectory of a closed-loop pole as $K$ varies.



Rule 2: Root Locus Starts at Poles and Ends at Zeros

As the gain $K$ increases from $0$ to $\infty$, the closed-loop poles trace trajectories in the complex plane. These trajectories begin at the poles of the open-loop transfer function $G(s)$ and move toward the zeros of $G(s)$.


This follows from the characteristic equation:


$$ 1 + K \frac{Q(s)}{P(s)} = 0 \quad \Rightarrow \quad P(s) + K Q(s) = 0 $$


Key Observations:

When $K = 0$, the equation reduces to:


$$ P(s) = 0 $$


which gives the open-loop poles.


As $K \to \infty$, we consider the dominant term:


$$ P(s) + K Q(s) \approx K Q(s) = 0 $$


Hence, the closed-loop poles approach the open-loop zeros.



Poles and Zeros at Infinity

If the number of open-loop poles exceeds the number of open-loop zeros, that is, if


$$ \deg P(s) = n > m = \deg Q(s), $$


then the system has $n - m$ zeros at infinity. These are asymptotic destinations for the excess root locus branches.


  • A zero at infinity exists if

$$ \lim_{s \to \infty} G(s) = 0 $$


  • A pole at infinity exists if

$$ \lim_{s \to \infty} G(s) = \infty $$



The image above illustrates several scenarios of root locus movement depending on the relationship between the number of poles and zeros:

(1) # of poles = # of zeros: each pole goes to a finite zero

(2) # of poles > # of zeros: excess branches go to infinity (zeros at infinity)

(3) # of poles < # of zeros: some branches come in from infinity (poles at infinity)


Example

Let us consider the open-loop transfer function:


$$ KG(s) = \frac{K}{s(s+1)(s+2)} $$


  • Poles at: $s = 0,\ -1,\ -2$
  • No finite zeros (numerator is constant)

As $s \to \infty$:


$$ KG(s) \approx \frac{K}{s^3} \quad \Rightarrow \quad G(s) \to 0 $$


This implies that the system has three zeros at infinity.



Rule 3: Conjugate Symmetry

The root locus is always symmetric with respect to the real axis.

  • For systems with real-valued coefficients, complex poles and zeros appear in conjugate pairs.

  • Consequently, the root locus paths that emerge from these poles must also follow conjugate trajectories.



Rule 4: No Crossings

Each branch of the root locus corresponds to a unique closed-loop pole trajectory as the gain $K$ varies from $0$ to $\infty$.

Therefore, distinct branches of the root locus cannot intersect, cross, or overlap in the complex plane.




Rule 5: Real Axis Segments of the Root Locus

A point on the real axis lies on the root locus if the total number of real open-loop poles and real open-loop zeros to the right of that point is odd.


This rule is derived from the angle condition of the root locus:


$$ \angle KG(s) = (2k+1)\pi $$



Given a rational transfer function


$$ G(s) = \frac{Q(s)}{P(s)} = \frac{\prod (s - z_i)}{\prod (s - p_j)}, $$


(1) For complex conjugate zero and pole pair $\implies \angle G(\cdot) = 0$



(2) The angle of $G(s)$ at any real point $s^*$ is the sum of angles contributed by the vectors from each zero and pole to $s^*$. For real poles and zeros, each such vector contributes either $0$ or $\pi$ (depending on whether $s^*$ is to the right or left of the pole or zero).


Therefore, the angle of $G(s^*)$ is a multiple of $\pi$, and the angle condition is satisfied only when the number of real poles and zeros to the right of $s^*$ is odd. In that case, the angle is $\pm\pi$, and the point lies on the root locus.



Rule 6: Breakaway and Break-in Points

Breakaway and break-in points occur along the real axis when multiple root locus branches either diverge from or converge to the real axis between real poles and/or zeros.


Let the characteristic equation be written as:


$$ 1 + K \frac{Q(s)}{P(s)} = 0 \quad \Longleftrightarrow \quad P(s) + KQ(s) = 0 $$


To determine possible breakaway or break-in points:


(1) Solve for $K$ from the characteristic equation:


$$ K = -\frac{P(s)}{Q(s)} $$


(2) Differentiate with respect to $s$ and solve:


$$ \frac{dK}{ds} = 0 $$


Real solutions of this equation (that lie on segments identified in Rule 5) are candidate breakaway or break-in points.


At a breakaway point:

  • Multiple branches depart the real axis and move into the complex plane.

At a break-in point:

  • Multiple branches approach the real axis and merge at a single point.

For two branches, the departure or entry angle is typically $90^\circ$ or $270^\circ$, consistent with conjugate symmetry. More generally, the angle of departure depends on the number and configuration of surrounding poles and zeros.


Rule 7: Branches Going to Infinity

If the number of open-loop poles exceeds the number of open-loop zeros, that is:


$$ n = \text{deg}(P(s)) > m = \text{deg}(Q(s)), $$


then:

  • There are exactly $n - m$ root locus branches that do not terminate at finite zeros.
  • These excess branches extend to infinity in the complex plane.

As $K \to \infty$, these branches follow asymptotic paths determined by:

  • Their number: $n - m$
  • Their angles and centroid: governed by Rule 8

These asymptotic behaviors allow us to approximate the trajectory of root locus branches without computing exact pole locations.



Rule 8: Asymptotes

If the number of poles exceeds the number of zeros ($n - m > 0$), then some branches of the root locus go to infinity along asymptotes. These asymptotes are determined by their angle and centroid.:


Angle of Asymptotes:


$$ \phi_A = \frac{(2k+1)\pi}{n - m}, \quad k = 0, 1, \ldots, n - m - 1 $$


Centroid of Asymptotes:


$$ \sigma_A = \frac{\sum \text{(finite poles)} - \sum \text{(finite zeros)}}{n - m} $$



(brief proof) Lines go to infinity along asymtotes


$$ \begin{align*} G(s) &= {1 \over (s+1)(s+2)} \approx {1 \over s}\cdot{1 \over s} \\\\ \angle G(s) &= \pi + 2k\pi \\ &\approx 0 - 2\alpha = \begin{cases} \pi\\ -\pi\\ \end{cases}\\\\ \therefore \alpha &= {\pi \over 2} \;\text{ or}\; -{\pi \over 2} \end{align*} $$

$$$$

$$ \phi_A = {(2k+1)\pi \over n - m}$$



(brief proof) The centroid of the asymptotes


$$ \sigma_A = {{\sum \text{finite poles} - \sum \text{finite zeros}}\over {n-m}} $$


Given the system transfer function


$$G(s) = \beta\frac{(s-z_1)(s-z_2)\cdots}{(s-p_1)(s-p_2)\cdots} = \beta \frac{s^m - \left(\sum z_i \right)s^{m-1} + \cdots}{s^n - \left(\sum p_i \right)s^{n-1} + \cdots}, \quad \text{assume }\; n>m$$


For a large value of $s$, $G(s)$ approximately looks like having $n-m$ repeated poles at $\sigma_A$ on the real axis


$$ \begin{align*} G(s) = \beta \frac{s^m - \left(\sum z_i \right)s^{m-1} + \cdots}{s^n - \left(\sum p_i \right)s^{n-1} + \cdots} \; &\approx \;\beta \frac{1}{(s-\sigma_A)^{n-m}} = \beta \frac{1}{s^{n-m} - (n-m) \sigma_A s^{n-m-1} + \cdots}\\\\\\ \left(s^m - \left(\sum z_i \right)s^{m-1} + \cdots \right) \left(s^{n-m} - (n-m) \sigma_A s^{n-m-1} + \cdots \right) \; &\approx \; s^n - \left(\sum p_i \right)s^{n-1} + \cdots \\\\ s^n - \left( \sum z_i + (n-m) \sigma_A \right)s^{n-1} + \cdots \; &\approx \; s^n - \left(\sum p_i \right)s^{n-1} + \cdots \\\\\\ \sum z_i + (n-m) \sigma_A &= \sum p_i \\\\ \therefore \; \sigma_A &= \frac{\sum p_i - \sum z_i}{n-m} \end{align*} $$



  • If $n-m = 1$

$$ \phi_{A} = {{2 \centerdot 0 + 1}\over{1}}180 = 180\,^{\circ}$$



  • If $n-m = 2$

$$ \begin{align*} \phi_{A1} &= {{2 \centerdot 0 + 1}\over{2}}180 = 90\,^{\circ}\\ \phi_{A2} &= {{2 \centerdot 1 + 1}\over{2}}180 = 270\,^{\circ} \\\\ \sigma_A &= {{(-2 - 1) - (0)}\over{2}}= -1.5 \end{align*} $$



  • If $n-m = 3$

$$ \begin{align*} \phi_{A1} &= {{2 \centerdot 0 + 1}\over{3}}180 = 60\,^{\circ}\\ \phi_{A2} &= {{2 \centerdot 1 + 1}\over{3}}180 = 180\,^{\circ}\\ \phi_{A3} &= {{2 \centerdot 2 + 1}\over{3}}180 = 300\,^{\circ}\\\\ \sigma_A &= {{(-1 -2 -3) - (0)}\over{3}}= -2 \end{align*} $$



  • If $n-m = 4$

$$ \begin{align*} \phi_{A1} &= {{2 \centerdot 0 + 1}\over{4}}180 = 45\,^{\circ}\\ \phi_{A2} &= {{2 \centerdot 1 + 1}\over{4}}180 = 135\,^{\circ}\\ \phi_{A3} &= {{2 \centerdot 2 + 1}\over{4}}180 = 225\,^{\circ}\\ \phi_{A4} &= {{2 \centerdot 3 + 1}\over{4}}180 = 315\,^{\circ}\\\\ \sigma_A &= {{(1+2-1-2) - (0)}\over{4}}= 0 \end{align*} $$



2.4. Break-away and Break-in Points

Break-away and break-in points occur when multiple branches of the root locus meet or separate along the real axis.

  • A break-away point is where branches depart from the real axis into the complex plane
  • A break-in point is where branches merge back onto the real axis

To find these points, we differentiate the closed-loop gain $K$ with respect to $s$. On the root locus:


$$ K = -\frac{1}{G(s)} $$


Break-away and break-in points occur when:


$$ \frac{dK}{ds} = \frac{d}{ds} \left( -\frac{1}{G(s)} \right) = 0 $$



Example

Let:


$$ G(s) = \frac{1}{(s + 2)(s + 4)} $$



Then the characteristic equation is:


$$ 1 + \frac{K}{(s + 2)(s + 4)} = 0 \quad \Rightarrow \quad s^2 + 6s + 8 + K = 0 $$


Solving for $s$:


$$ s = -3 \pm \sqrt{1 - K} $$


  • When $K < 1$: roots are real and distinct (overdamped)
  • When $K = 1$: roots are real and repeated (critically damped)
  • When $K > 1$: roots are complex (underdamped)

As $K$ varies, the number and nature of the solutions change:

  • $K$: small → real roots → break-away occurs as roots coalesce and depart from real axis


To find the exact break-away point:


$$ K = - (s + 2)(s + 4) = - (s^2 + 6s + 8) $$


Differentiate with respect to $s$:


$$ \frac{dK}{ds} = - (2s + 6) = 0 \quad \Rightarrow \quad s = -3 $$


Thus, the break-away point is at $s = -3$.


2.5. Angles of Departure and Arrival for Complex Poles and Zeros

When a complex pole or zero exists in a system, the root locus may depart or arrive from/to that point at a specific angle. These angles are determined by analyzing the total phase contributed by the other poles and zeros.


Let:


$$ G(s) = \frac{s}{(s - (-1 + i))(s - (-1 - i))} $$


This system has:

  • One zero at the origin: $s = 0$
  • Two complex poles: $s = -1 \pm i$

Find the angle of departure from the complex pole at $p = -1 + i$.


The angle of departure from a complex pole $p$ is given by:


$$ \angle G(p) = \pi + 2k\pi, \quad k \in \mathbb{Z} $$


That is:


$$ \angle (\text{vector to zero}) - \sum \angle (\text{vectors to all other poles}) = \pi $$



Let's evaluate $\angle G(p)$ by computing vector angles from the other singularities (poles and zeros) to $p = -1 + i$:

  • Vector from the zero at 0 to $p = -1 + i$:
    This vector points from the origin to $-1 + i$. The angle is:

$$ \angle_z = \arg(-1 + i) = \frac{3\pi}{4} $$


  • Vector from the other pole at $-1 - i$ to $p = -1 + i$:
    The vector from $-1 - i$ to $-1 + i$ is vertical and upward. The angle is:

$$ \angle_{\text{pole 2}} = \frac{\pi}{2} $$


  • Vector from the pole at $p = -1 + i$ to itself is undefined, so we exclude it from the sum.

Using the departure angle formula:


$$ \angle G(p) = \angle_z - \sum \angle_{\text{other poles}} = \pi $$


Substituting:


$$ \underbrace{\left({3 \over4} \pi + 0 \right)}_{\text{zeros}} - \underbrace{\left( {\pi \over 2} + \theta \right)}_{\text{poles}} = \pi $$


Solving:


$$ \theta = -\frac{3\pi}{4} $$


This means the root locus departs from this pole downward into the complex plane at a $135^\circ$ angle measured clockwise from the positive real axis.


2.6. Root Locus for Stability

Consider the open-loop plant:


$$ G(s) = \frac{1}{(s+1)(s - 2)} $$


This system has:

  • A stable pole at $s = -1$
  • An unstable pole at $s = 2$

Proportional Control

Using a proportional controller $K$:


$$ L(s) = K \cdot G(s) = \frac{K}{(s+1)(s - 2)} $$



Observation:

  • The root locus starts at the poles ($s = -1,\ 2$) and no matter the value of $K > 0$, at least one pole remains in the right-half plane (RHP).

  • Therefore, the closed-loop system is always unstable with proportional control only.



Add a Zero with a PD Controller

To modify the root locus, we can add a zero by introducing a derivative term. Consider a PD controller:


$$ C(s) = K(s + z) $$


Try:


$$ C(s) = K(s + 3) $$


Then the open-loop transfer function becomes:


$$ L(s) = \frac{K(s + 3)}{(s+1)(s - 2)} $$


This new root locus, shown on the right in the figure, reveals that:

  • For some values of $K$, both poles can lie in the left-half plane, making the system stable.

  • The added zero pulls the locus into the left-half plane and reshapes the trajectory.



This highlights the design power of root locus methods — we can visualize how controller parameters affect system stability and performance.

  • A proportional controller alone is not sufficient for stabilizing the system.
  • Adding a zero (via a PD controller) reshapes the root locus and enables closed-loop stabilization.




3. Root Locus in MATALB


$$G(s) = \frac{s+7}{s(s+5)(s+15)(s+20)}$$

In [ ]:
s = tf('s');
G = (s + 7)/(s*(s + 5)*(s + 15)*(s + 20));

[y,tout] = step(G);   % unstable

plot(tout,y), axis tight
xlabel('t'), title('Unstable step response')

No description has been provided for this image
In [ ]:
pole(G)
ans =

         0
  -20.0000
  -15.0000
   -5.0000


In [ ]:
k = 800;

Gcl = feedback(k*G,1,-1)
pole(Gcl)
[y,tout] = step(Gcl);

plot(tout,y,tout,ones(size(tout)),'k--'), axis tight, ylim([0,1.2])
Gcl =
 
               800 s + 5600
  --------------------------------------
  s^4 + 40 s^3 + 475 s^2 + 2300 s + 5600
 
Continuous-time transfer function.


ans =

 -23.5466 + 0.0000i
 -10.1226 + 0.0000i
  -3.1654 + 3.6708i
  -3.1654 - 3.6708i


No description has been provided for this image
In [ ]:
pzmap(Gcl)

No description has been provided for this image
In [ ]:
K = 350;

Gcl = feedback(K*G,1,-1);

pzmap(Gcl)

No description has been provided for this image
In [ ]:
[y,tout] = step(Gcl);

plot(tout,y,tout,ones(size(tout)),'k--'),
axis tight, ylim([0,1.2]), xlabel('t'), title('Step response')

No description has been provided for this image

rlocus in MATALB

In [ ]:
rlocus(G)
axis([-22,3,-20,20])

No description has been provided for this image
In [ ]:
help rlocus
 RLOCUS  Evans root locus.
 
    RLOCUS(SYS) computes and plots the root locus of the single-input,
    single-output LTI model SYS. The root locus plot is used to analyze 
    the negative feedback loop
 
                      +-----+
          ---->O----->| SYS |----+---->
              -|      +-----+    |
               |                 |
               |       +---+     |
               +-------| K |<----+
                       +---+
 
    and shows the trajectories of the closed-loop poles when the feedback 
    gain K varies from 0 to Inf.  RLOCUS automatically generates a set of 
    positive gain values that produce a smooth plot.  
 
    RLOCUS(SYS,K) uses a user-specified vector K of gain values.
 
    RLOCUS(SYS1,SYS2,...) draws the root loci of several models SYS1,SYS2,... 
    on a single plot. You can specify a color, line style, and marker for 
    each model, for example:
       rlocus(sys1,'r',sys2,'y:',sys3,'gx').
 
    [R,K] = RLOCUS(SYS) or R = RLOCUS(SYS,K) returns the matrix R of
    complex root locations for the gains K.  R has LENGTH(K) columns
    and its j-th column lists the closed-loop roots for the gain K(j).  
  
    See RLOCUSPLOT for additional graphical options for root locus plots.
 
    See also RLOCUSPLOT, SISOTOOL, POLE, ISSISO, LTI.

    Reference page in Doc Center
       doc rlocus

    Other functions named rlocus

       DynamicSystem/rlocus     resppack.ltisource/rlocus
       ltipack.tfdata/rlocus



Standard Form of Root Locus


$$s^3 + 4s^2 + Ks + 1 = 0$$

In [ ]:
K = 0;
f = [1, 4, K, 1];
p = roots(f)
p =

  -4.0606 + 0.0000i
   0.0303 + 0.4953i
   0.0303 - 0.4953i


In [ ]:
plot(real(p), imag(p), 'rx', 'linewidth', 2), hold on

ylim([-1, 1])
xlim([-4,1])

line([0 0], ylim, 'LineStyle', '--', 'Color', 'k');
line(xlim, [0 0], 'LineStyle', '--', 'Color', 'k');

No description has been provided for this image
In [ ]:
K = 2;
f = [1, 4, K, 1];
p = roots(f);
plot(real(p), imag(p), 'rx', 'linewidth', 2);

ylim([-1, 1])
xlim([-4,1])

line([0 0], ylim, 'LineStyle', '--', 'Color', 'k');
line(xlim, [0 0], 'LineStyle', '--', 'Color', 'k');

No description has been provided for this image
In [ ]:
f = [1, 4, 0, 1];
p = roots(f);
plot(real(p), imag(p), 'rx'), hold on

for K = 0 : 0.1 : 10
    f = [1, 4, K, 1];
    p = roots(f);
    plot(real(p), imag(p), 'r.')
end

hold off
ylim([-1, 1])
xlim([-4,1])
axis equal

line([0 0], ylim, 'LineStyle', '--', 'Color', 'k');
line(xlim, [0 0], 'LineStyle', '--', 'Color', 'k');

No description has been provided for this image

Covert it to the stardard form of root locus


$$s^3 + 4s^2 + Ks + 1 = 0 \Rightarrow 1 + K{s \over s^3 + 4s^2 + 1} = 1 + KG(s) = 0 $$

In [ ]:
G = tf([1, 0], [1, 4, 0, 1]);

In [ ]:
pole(G)
zero(G)
ans =

  -4.0606 + 0.0000i
   0.0303 + 0.4953i
   0.0303 - 0.4953i


ans =

     0


In [ ]:
pzmap(G)
ylim([-1, 1])

No description has been provided for this image
In [ ]:
rlocus(G)
axis equal
xlim([-5,2])

No description has been provided for this image

Examples of Root Locus

Example 1: Lines leave the real axis at 90 degrees


$$G(s) = {s + 1 \over s^2 + s - 2}$$

In [ ]:
G = tf([1, 3], [1, 1, -2]);
rlocus(G)
axis equal

No description has been provided for this image

Example 2: Asymptotes


$$G(s) = {1 \over s^4 + 12s^3 + 64s^2 + 128s} $$

In [ ]:
G = tf([1], [1, 12, 64, 128, 0]);
rlocus(G)
axis equal

No description has been provided for this image

Example 3: determining the breakaway points


$$G(s) = {1 \over (s+2)(s+4)}$$

In [ ]:
G = tf([1], [1, 6, 8]);
rlocus(G)
axis equal

No description has been provided for this image

$$G(s) = {(s-3)(s-5) \over (s+1)(s+2)}$$

In [ ]:
G = tf([conv([1, -3],[1, -5])], [conv([1, 1], [1, 2])]);
rlocus(G)
axis equal

No description has been provided for this image

Example 4: Departure angle


$$G(s) = {s \over (s-(1+i))(s - (1 - i))}$$

In [ ]:
G = tf([1, 0], [1, 2, 2]);
rlocus(G)
axis equal

No description has been provided for this image

$$G(s) = {s+1 \over (s+2)(s^2+4s+8)}$$

In [ ]:
G = tf([1, 1], [conv([1, 2], [1, 4, 8])]);
rlocus(G)
axis equal
xlim([-4,0.5])

No description has been provided for this image




4. Other Tutorials

The Root Locus Method by Brian Douglas

In [ ]:
from IPython.display import YouTubeVideo
YouTubeVideo('CRvVDoQJjYI', width = "560", height = "315")
Out[ ]:
In [ ]:
from IPython.display import YouTubeVideo
YouTubeVideo('eTVddYCeiKI', width = "560", height = "315")
Out[ ]:
In [ ]:
from IPython.display import YouTubeVideo
YouTubeVideo('jb_FiP5tKig', width = "560", height = "315")
Out[ ]:
In [ ]:
from IPython.display import YouTubeVideo
YouTubeVideo('WLBszzT0jp4', width = "560", height = "315")
Out[ ]:
In [ ]:
from IPython.display import YouTubeVideo
YouTubeVideo('pG3_b7wuweQ', width = "560", height = "315")
Out[ ]:
In [ ]:
%%javascript
$.getScript('https://kmahelona.github.io/ipython_notebook_goodies/ipython_notebook_toc.js')