DynamicSystems - Maple Programming Help

Home : Support : Online Help : Science and Engineering : Dynamic Systems : Plotting and Graphical Tools : DynamicSystems/ZeroPolePlot

DynamicSystems

 ZeroPolePlot
 plot zeros and poles of a linear system

 Calling Sequence ZeroPolePlot (sys, opts)

Parameters

 sys - System; system object to plot opts - (optional) equation(s) of the form option = value; specify options for the ZeroPolePlot command

Options

 • color = name or string or list of same
 Specify the colors of the zeros and poles of each subsystem. If one color is specified, all subsystems use that color. If a list of colors is specified, the colors of the subsystems are selected cyclically from the list. The default is to use the value of the colors variable of the DynamicSystems[SystemOptions] command. The keyword colour may be used as a synonym for color.
 • legend = list or element
 Specifies the legend for the plot. A list specifies a legend entry for each subsystem. The elements in the list correspond to the Matrix of subsystems taken in Fortran order. An element can be used for a one-by-one Matrix of subsystems. The default is no legend.
 • output = plot, data, or list of same
 Specifies the output of ZeroPolePlot. The name plot returns the plot structure. The name data returns the data. A list of those names returns a corresponding list of plots and data. The default is plot.
 The data is returned as a Matrix for a single selected subsystem and as a list of Matrices for multiple selected subsystems. Each Matrix has two columns: the first is the horizontal component and the second is the vertical component.
 • subsystem = [ posint, posint ] or list of same
 Selects subsystems of a multi-input/multi-output system. Each selected subsystem is specified as a list of two indices: the first specifies the output and the second specifies the input. For example, $\left[1,2\right]$ specifies the subsystem from the second input to the first output. A list of lists selects multiple subsystems. The default setting is to select all subsystems, using Fortran ordering. That is, for an m x n system, the default list of subsystems is [ [1,1], ..., [m,1], ..., [1,n], ..., [m,n] ].
 • unitcircle = truefalse
 Specifies whether the unit circle (a circle with radius one and center at the origin) is plotted. This is the default when the system is discrete. The interior of the unit circle is the region of stability for a discrete system.

Description

 • The ZeroPolePlot command plots the zeros and poles of a subsystem of sys, a System object. The zeros correspond to the roots of the numerator of the transfer-function of sys, the poles to the roots of the denominator.
 • The roots are plotted on the complex plane. The horizontal axis corresponds to the real part of the roots, the vertical axis to the imaginary part.
 • Zeros are plotted as circles, poles are plotted as crosses.
 • The default plot-option axes is set to boxed; this permits viewing a pole (cross) that would otherwise lie on an axis.
 • For a multi-input/multi-output system, some or all of the subsystems can be selected. The option subsystem selects the subsystems.
 • The ZeroPolePlot command takes all standard plot,options. For the special syntax that ZeroPolePlot uses with the color option, see below.

Examples

 > $\mathrm{with}\left(\mathrm{DynamicSystems}\right):$

Create a system with two inputs and two outputs:

 > $\mathrm{sys}≔\mathrm{TransferFunction}\left(⟨⟨\frac{s}{\left(s+1+I\cdot 10\right)\left(s+1-I\cdot 10\right)}|\frac{1}{s+1}⟩,⟨\frac{1}{\left(s+3-I\cdot 7\right)\left(s+3+I\cdot 7\right)}|\frac{1}{\left(s+3\right)\left(s+5\right)}⟩⟩\right):$
 > $\mathrm{sys}:-\mathrm{tf}$
 $\left[\begin{array}{cc}\frac{{s}}{{{s}}^{{2}}{+}{2}{}{s}{+}{101}}& \frac{{1}}{{s}{+}{1}}\\ \frac{{1}}{{{s}}^{{2}}{+}{6}{}{s}{+}{58}}& \frac{{1}}{{{s}}^{{2}}{+}{8}{}{s}{+}{15}}\end{array}\right]$ (1)
 > $\mathrm{ZeroPolePlot}\left(\mathrm{sys},\mathrm{color}=\left[\mathrm{red},\mathrm{green},\mathrm{blue},\mathrm{brown}\right],\mathrm{title}="Zeros and Poles"\right)$
 > $\mathrm{ZeroPolePlot}\left(\mathrm{sys},\mathrm{subsystem}=\left[1,1\right],\mathrm{color}=\mathrm{red},\mathrm{title}="System \left[1,1\right]"\right)$
 > $\mathrm{ZeroPolePlot}\left(\mathrm{sys},\mathrm{subsystem}=\left[\left[1,2\right],\left[2,1\right]\right],\mathrm{color}=\left[\mathrm{red},\mathrm{blue}\right],\mathrm{title}="Systems \left[1,2\right] and \left[2,1\right]"\right)$
 > $\mathrm{dx}≔\mathrm{ZeroPolePlot}\left(\mathrm{sys},\mathrm{output}=\mathrm{data}\right)$
 ${\mathrm{dx}}{≔}\left[\left[\left[{0.}\right]{,}\left[{-1.000000000}{-}{10.00000000}{}{I}{,}{-1.}{+}{10.00}{}{I}\right]\right]{,}\left[\left[\right]{,}\left[{-3.000000000}{-}{7.000000000}{}{I}{,}{-3.}{+}{7.000000000}{}{I}\right]\right]{,}\left[\left[\right]{,}\left[{-1.}\right]\right]{,}\left[\left[\right]{,}\left[{-5.}{,}{-3.000000000}\right]\right]\right]$ (2)

The commands to create the plot from the Plotting Guide are

 > $\mathrm{sys_z}≔\mathrm{TransferFunction}\left(\frac{40\left(3z-4\right)}{200{z}^{3}-420{z}^{2}+300z-70},\mathrm{discrete},\mathrm{sampletime}=0.1\right):$
 > $\mathrm{ZeroPolePlot}\left(\mathrm{sys_z},\mathrm{color}=\mathrm{red},\mathrm{title}="Discrete System"\right)$