RootLocusPlot
✖
RootLocusPlot
generates a root locus plot of a linear time-invariant system lsys as the parameter k ranges from kmin to kmax.
Details and Options



- RootLocusPlot plots the location of poles for the closed-loop system for a range of k values.
- RootLocusPlot treats the parameter k as local, effectively using Block.
- The systems model lsys can be a StateSpaceModel or a TransferFunctionModel.
- RootLocusPlot has the same options as Graphics, with the following additions and changes: [List of all options]
-
Axes True whether to draw axes ColorFunction Automatic how to apply coloring to the loci ColorFunctionScaling True whether to scale arguments to ColorFunction EvaluationMonitor None expression to evaluate at every parameter evaluation Exclusions Automatic parameter values to exclude ExclusionsStyle None what to draw at excluded points FeedbackType "Negative" feedback type MaxRecursion Automatic the maximum number of recursive subdivisions allowed Mesh Automatic how many mesh divisions to draw MeshFunctions Automatic how to determine the placement of the mesh divisions MeshShading None how to shade regions between mesh points MeshStyle None the style for mesh divisions Method Automatic the method to determine the loci PerformanceGoal $PerformanceGoal aspects of performance to try to optimize PlotPoints Automatic initial number of sample parameter points PlotRange Automatic range of values to include PlotRangeClipping True whether to clip at the plot range PlotStyle Automatic graphics directives to specify the style for the loci PlotTheme $PlotTheme overall theme for the plot PoleZeroMarkers Automatic markers for poles and zeros RegionFunction (True&) how to determine whether a point should be included PlotLegends None legends for root loci WorkingPrecision MachinePrecision the precision used in internal computations - RootLocusPlot takes a Method option that specifies the method used for computing the root loci.
- With the setting Method->"GenericSolve", the loci are determined by computing the roots at the sample points and then sorting them.
- With Method->"NDSolve", RootLocusPlot uses NDSolve to solve the differential equation
, where
is the characteristic equation of the closed-loop system and
is the complex variable.
- Method->{"NDSolve",opt1->val1,opt2->val2,…} uses the specified NDSolve options.
- The closed-loop poles for specific values of k can be plotted with appropriate settings for Mesh, MeshFunctions, and MeshStyle.
- Markers for open-loop poles and zeros, as well as closed-loop poles, can be specified by setting the PoleZeroMarkers option.
- The arguments to RegionFunction are x, y, and k.
-
AlignmentPoint Center the default point in the graphic to align with AspectRatio Automatic ratio of height to width Axes True whether to draw axes AxesLabel None axes labels AxesOrigin Automatic where axes should cross AxesStyle {} style specifications for the axes Background None background color for the plot BaselinePosition Automatic how to align with a surrounding text baseline BaseStyle {} base style specifications for the graphic ColorFunction Automatic how to apply coloring to the loci ColorFunctionScaling True whether to scale arguments to ColorFunction ContentSelectable Automatic whether to allow contents to be selected CoordinatesToolOptions Automatic detailed behavior of the coordinates tool Epilog {} primitives rendered after the main plot EvaluationMonitor None expression to evaluate at every parameter evaluation Exclusions Automatic parameter values to exclude ExclusionsStyle None what to draw at excluded points FeedbackType "Negative" feedback type FormatType TraditionalForm the default format type for text Frame False whether to put a frame around the plot FrameLabel None frame labels FrameStyle {} style specifications for the frame FrameTicks Automatic frame ticks FrameTicksStyle {} style specifications for frame ticks GridLines None grid lines to draw GridLinesStyle {} style specifications for grid lines ImageMargins 0. the margins to leave around the graphic ImagePadding All what extra padding to allow for labels etc. ImageSize Automatic the absolute size at which to render the graphic LabelStyle {} style specifications for labels MaxRecursion Automatic the maximum number of recursive subdivisions allowed Mesh Automatic how many mesh divisions to draw MeshFunctions Automatic how to determine the placement of the mesh divisions MeshShading None how to shade regions between mesh points MeshStyle None the style for mesh divisions Method Automatic the method to determine the loci PerformanceGoal $PerformanceGoal aspects of performance to try to optimize PlotLabel None an overall label for the plot PlotLegends None legends for root loci PlotPoints Automatic initial number of sample parameter points PlotRange Automatic range of values to include PlotRangeClipping True whether to clip at the plot range PlotRangePadding Automatic how much to pad the range of values PlotRegion Automatic the final display region to be filled PlotStyle Automatic graphics directives to specify the style for the loci PlotTheme $PlotTheme overall theme for the plot PoleZeroMarkers Automatic markers for poles and zeros PreserveImageOptions Automatic whether to preserve image options when displaying new versions of the same graphic Prolog {} primitives rendered before the main plot RegionFunction (True&) how to determine whether a point should be included RotateLabel True whether to rotate y labels on the frame Ticks Automatic axes ticks TicksStyle {} style specifications for axes ticks WorkingPrecision MachinePrecision the precision used in internal computations
List of all options




Examples
open allclose allBasic Examples (2)Summary of the most common use cases
Scope (3)Survey of the scope of standard use cases
The root locus plot for various pole-zero configurations:

https://wolfram.com/xid/0k743nvuox02a-8gnw2o

Root locus plot of a TransferFunctionModel:

https://wolfram.com/xid/0k743nvuox02a-lp9caq

Root locus plot of a StateSpaceModel:

https://wolfram.com/xid/0k743nvuox02a-ukeo5s

Generalizations & Extensions (1)Generalized and extended use cases
Options (21)Common values & functionality for each option
ColorFunction (1)
Epilog (3)
Show lines corresponding to a damping ratio 0.4 on the plane:

https://wolfram.com/xid/0k743nvuox02a-h2ie2v

Show the circle corresponding to the natural frequency 3 radians per time unit:

https://wolfram.com/xid/0k743nvuox02a-balk8z

The loci of points with damping 0.4 in the plane for a system with sampling period 1:

https://wolfram.com/xid/0k743nvuox02a-4gce96

FeedbackType (3)
Negative feedback is assumed by default:

https://wolfram.com/xid/0k743nvuox02a-zqg3dy

https://wolfram.com/xid/0k743nvuox02a-dyy5zo


https://wolfram.com/xid/0k743nvuox02a-bzmw2y

Root loci of an open-loop system with positive feedback:

https://wolfram.com/xid/0k743nvuox02a-vk1x6c


https://wolfram.com/xid/0k743nvuox02a-pdgm7b

Method (1)
PlotLegends (4)
Use placeholder legends for root loci:

https://wolfram.com/xid/0k743nvuox02a-zmn0ki


https://wolfram.com/xid/0k743nvuox02a-8vrun7

Use LineLegend to add a overall legend label:

https://wolfram.com/xid/0k743nvuox02a-twzqlq

Place the legend above the plot:

https://wolfram.com/xid/0k743nvuox02a-fl4a2w

PlotTheme (2)
PoleZeroMarkers (6)
By default, open-loop poles at zero and closed-loop poles at the mean parameter value are shown:

https://wolfram.com/xid/0k743nvuox02a-offac9


https://wolfram.com/xid/0k743nvuox02a-84eusg

Show the closed-loop poles only:

https://wolfram.com/xid/0k743nvuox02a-zcym8e


https://wolfram.com/xid/0k743nvuox02a-op3nwo

Use graphics primitives as the pole-zero markers:

https://wolfram.com/xid/0k743nvuox02a-5jih0d


https://wolfram.com/xid/0k743nvuox02a-zi6s5c

Applications (3)Sample problems that can be solved with this function
Explore and determine critical points such as break-away, break-in, and imaginary axis crossings:

https://wolfram.com/xid/0k743nvuox02a-ipa17u

Plot the roots of a polynomial as a parameter is varied:

https://wolfram.com/xid/0k743nvuox02a-e2z76v

Analyze the effect of the sensor gain on a system:


https://wolfram.com/xid/0k743nvuox02a-8f7xsz

https://wolfram.com/xid/0k743nvuox02a-unheh5

Properties & Relations (6)Properties of the function, and connections to other functions
The root-locus consists of points with for negative feedback:

https://wolfram.com/xid/0k743nvuox02a-fe78ix

https://wolfram.com/xid/0k743nvuox02a-jrph28

https://wolfram.com/xid/0k743nvuox02a-jonc83

And points with for positive feedback:

https://wolfram.com/xid/0k743nvuox02a-ifi6x7

The root locus plot does not depend on the sampling period:

https://wolfram.com/xid/0k743nvuox02a-btdskt

For strictly proper systems, the root loci go to infinity with straight-line asymptotes:

https://wolfram.com/xid/0k743nvuox02a-9frojv
For the strictly proper system, the number of poles is greater than the number of zeros:

https://wolfram.com/xid/0k743nvuox02a-9tmhk

The plot shows four loci going to infinity:

https://wolfram.com/xid/0k743nvuox02a-binx66

The slopes of the asymptotes for a negative feedback system:

https://wolfram.com/xid/0k743nvuox02a-f0mrra

Find where the asymptotes intercept the real axis:

https://wolfram.com/xid/0k743nvuox02a-00gjyl

Plot the root loci and the asymptotes:

https://wolfram.com/xid/0k743nvuox02a-bd8x41

https://wolfram.com/xid/0k743nvuox02a-xqknv2

The slopes of the asymptotes for a positive feedback system:

https://wolfram.com/xid/0k743nvuox02a-dmpnkg

Plot the root loci and the asymptotes:

https://wolfram.com/xid/0k743nvuox02a-6kzgpi

https://wolfram.com/xid/0k743nvuox02a-o5bn14

The break-away and break-in points on the real axis can be computed from the poles and zeros:

https://wolfram.com/xid/0k743nvuox02a-sz7b1j

https://wolfram.com/xid/0k743nvuox02a-ip6mt9

https://wolfram.com/xid/0k743nvuox02a-3zp4xh

Select those points for which k∈Interval[{0,5}]:

https://wolfram.com/xid/0k743nvuox02a-puyur7

https://wolfram.com/xid/0k743nvuox02a-d4wi9t

https://wolfram.com/xid/0k743nvuox02a-gh5yp1

Show the points on the root locus plot:

https://wolfram.com/xid/0k743nvuox02a-0zsxbh

With the loci and closed-loop poles removed, it becomes a pole-zero plot of the open-loop system:

https://wolfram.com/xid/0k743nvuox02a-bqwwzf


https://wolfram.com/xid/0k743nvuox02a-irvpy5

Use ListPlot to show the same pole-zero plot:

https://wolfram.com/xid/0k743nvuox02a-yuiv4j

The complex-valued transfer function is a surface with "peaks" at the poles and "valleys" at the zeros:

https://wolfram.com/xid/0k743nvuox02a-sa1cxe

https://wolfram.com/xid/0k743nvuox02a-8n7jxt

https://wolfram.com/xid/0k743nvuox02a-5gh2xn

The root locus plot travels from the "peaks" to the "valleys" along the lines of steepest descent:

https://wolfram.com/xid/0k743nvuox02a-j3mla7

https://wolfram.com/xid/0k743nvuox02a-43ly58

https://wolfram.com/xid/0k743nvuox02a-ojag6i

https://wolfram.com/xid/0k743nvuox02a-4pobs0

The Bode magnitude plot is the intersection of the surface and the -
plane:

https://wolfram.com/xid/0k743nvuox02a-ufa3bf

https://wolfram.com/xid/0k743nvuox02a-vtgg1d

https://wolfram.com/xid/0k743nvuox02a-4xpc3c

https://wolfram.com/xid/0k743nvuox02a-b1lu47

Wolfram Research (2010), RootLocusPlot, Wolfram Language function, https://reference.wolfram.com/language/ref/RootLocusPlot.html (updated 2014).
Text
Wolfram Research (2010), RootLocusPlot, Wolfram Language function, https://reference.wolfram.com/language/ref/RootLocusPlot.html (updated 2014).
Wolfram Research (2010), RootLocusPlot, Wolfram Language function, https://reference.wolfram.com/language/ref/RootLocusPlot.html (updated 2014).
CMS
Wolfram Language. 2010. "RootLocusPlot." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/RootLocusPlot.html.
Wolfram Language. 2010. "RootLocusPlot." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/RootLocusPlot.html.
APA
Wolfram Language. (2010). RootLocusPlot. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/RootLocusPlot.html
Wolfram Language. (2010). RootLocusPlot. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/RootLocusPlot.html
BibTeX
@misc{reference.wolfram_2025_rootlocusplot, author="Wolfram Research", title="{RootLocusPlot}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/RootLocusPlot.html}", note=[Accessed: 09-April-2025
]}
BibLaTeX
@online{reference.wolfram_2025_rootlocusplot, organization={Wolfram Research}, title={RootLocusPlot}, year={2014}, url={https://reference.wolfram.com/language/ref/RootLocusPlot.html}, note=[Accessed: 09-April-2025
]}