 DynamicSystems - Maple Programming Help

Home : Support : Online Help : Science and Engineering : Dynamic Systems : System Object : DynamicSystems/ZeroPoleGain

DynamicSystems

 ZeroPoleGain
 create a zero-pole-gain system object

 Calling Sequence ZeroPoleGain(opts) ZeroPoleGain(sys, opts) ZeroPoleGain(tf, opts) ZeroPoleGain(z, p, k, opts) ZeroPoleGain(num, den, opts) ZeroPoleGain(a, b, c, d, opts) ZeroPoleGain(de, invars, outvars, opts)

Parameters

 sys - System; system object tf - algebraic or Matrix(algebraic); transfer function z - list(algebraic) or Matrix(list(algebraic)); zeros p - list(algebraic) or Matrix(list(algebraic)); poles k - algebraic or Matrix(algebraic); gain(s) num - list(algebraic) or Matrix (list(algebraic)); numerator coefficients den - list(algebraic) or Matrix (list(algebraic)); denominator coefficients a - Matrix; state-space matrix A b - Matrix; state-space matrix B c - Matrix; state-space matrix C d - Matrix; state-space matrix D de - equation or list(equation); diff-equations invars - name, anyfunc(name) or list of same; input variables outvars - name, anyfunc(name) or list of same; output variables opts - (optional) equation(s) of the form option = value; specify options for the ZeroPoleGain command

Options

 The opts arguments are optional arguments of the form option = value, where option is one of the names listed below. These arguments correspond to keyword parameters; the left side of an equation is the keyword and the right side is the value. Each keyword parameter has a default value that is assigned if the parameter is not passed.
 The following paragraphs describe each of the keyword parameters. The first line of each paragraph specifies the format of the argument: the left side is the keyword and the right side specifies the type of the value. If the type is truefalse, then passing just the keyword is equivalent to passing keyword = $\mathrm{true}$.
 • discrete = truefalse
 Specifies whether the system is discrete (true) or continuous (false). The default value is assigned by DynamicSystems[SystemOptions].
 • conjugate = truefalse
 If true and the z and p (and k) parameters are used, then the conjugate of any complex zero or pole is added to the respective list. For example, if conjugate = true then $z=\left[1,1+I\right]$ is equivalent to $z=\left[1,1+I,1-I\right]$. The default value is assigned by DynamicSystems[SystemOptions].
 • sampletime = realcons
 The sampling time of the system. The default value is assigned by DynamicSystems[SystemOptions].
 • systemname = string
 The name of the system. The default is the empty string.
 • inputvariable = list of name or function(name)
 The names of the inputs to the system. A name, say u, is converted to a function u(t), where t is the independent variable of the system, See DynamicSystems/SystemObject. The default value is assigned by DynamicSystems[SystemOptions].
 • outputvariable = list of name or function(name)
 The names of the outputs of the system. A name, say y, is converted to a function y(t), where t is the independent variable of the system, see DynamicSystems[SystemObject]. The default value is assigned by DynamicSystems[SystemOptions].
 • statevariable = list of name or function(name)
 The names of the states of the system. A name, say x, is converted to a function x(t), where t is the independent variable of the system, see DynamicSystems[SystemObject]. The default value is assigned by DynamicSystems[SystemOptions].
 • parameters = list or set of name=complexcons
 Specifies values for symbolic parameters. These are used in operations that require numeric evaluation, such as plotting.

Description

 • The ZeroPoleGain command creates a zero-pole-gain (ZPK) system object. The frequency-domain behavior of the object is modeled by lists of zeros, poles, and gains of transfer functions.
 • The input can be specified as one of several representations: transfer function (TF), zero-pole-gain (ZPK), coefficients (Coeff), state-space (SS), or diff-equations (DE).
 • If no input is provided, a unity-gain ZPK system is created.
 • The optional parameter sys is a system object; it is converted to the ZPK representation. All options are ignored.
 • The optional parameter tf is the transfer function of a TF system. For a single-input/single-output system, tf is a rational function (ratpoly). For a multi-input/multi-output system, tf is a Matrix of rational functions. The indeterminate of the polynomials depends on whether the system is continuous or discrete; a continuous system typically uses s while a discrete system typically uses z as the indeterminate. The actual names are assigned by DynamicSystems[SystemOptions].
 • The optional parameters z, p, and k are the zeros, poles, and gain, respectively, of a ZPK system. For a single-input/single-output system, z and p are lists and k is an algebraic expression. For a multi-input/multi-output system, z and p are Matrices of lists and k is a Matrix of algebraic expressions.
 • The optional parameters num and den are the coefficients of the numerator and denominator, respectively, of a Coeff system. For a single-input/single-output system, num and den are lists, the first element being the coefficient of the highest order term. For a multi-input/multi-output system, num and den are Matrices of lists.
 • The optional parameters a, b, c, and d are the four state-space matrices, A, B, C, and D, respectively, of an SS system.
 • The optional parameter de is the difference/differential equation(s) of a DE system. A list is used to specify more than one equation.
 • The parameters invars and outvars specify the input and output variables of difference/differential equations. They are not required, but if either is not specified then the corresponding keyword parameter inputvariable or outputvariable must be assigned. If both positional and keyword parameters are specified, the keyword parameter take precedence.

Examples

 > $\mathrm{with}\left(\mathrm{DynamicSystems}\right):$
 > $\mathrm{sys1}≔\mathrm{ZeroPoleGain}\left(\right):$
 > $\mathrm{PrintSystem}\left(\mathrm{sys1}\right)$
 $\left[\begin{array}{l}{\mathbf{Zero Pole Gain}}\\ {\mathrm{continuous}}\\ {\mathrm{1 output\left(s\right); 1 input\left(s\right)}}\\ {\mathrm{inputvariable}}{=}\left[{\mathrm{u1}}{}\left({s}\right)\right]\\ {\mathrm{outputvariable}}{=}\left[{\mathrm{y1}}{}\left({s}\right)\right]\\ {{\mathrm{z}}}_{{1}{,}{1}}{=}\left[\right]\\ {{\mathrm{p}}}_{{1}{,}{1}}{=}\left[\right]\\ {{\mathrm{k}}}_{{1}{,}{1}}{=}{1}\end{array}\right$ (1)
 > $\mathrm{sys2}≔\mathrm{ZeroPoleGain}\left(\frac{s}{{s}^{3}+5{s}^{2}+7s+6}\right):$
 > $\mathrm{PrintSystem}\left(\mathrm{sys2}\right)$
 $\left[\begin{array}{l}{\mathbf{Zero Pole Gain}}\\ {\mathrm{continuous}}\\ {\mathrm{1 output\left(s\right); 1 input\left(s\right)}}\\ {\mathrm{inputvariable}}{=}\left[{\mathrm{u1}}{}\left({s}\right)\right]\\ {\mathrm{outputvariable}}{=}\left[{\mathrm{y1}}{}\left({s}\right)\right]\\ {{\mathrm{z}}}_{{1}{,}{1}}{=}\left[{0}\right]\\ {{\mathrm{p}}}_{{1}{,}{1}}{=}{{}\begin{array}{l}{[}{-}\frac{{\left({388}{+}{36}{}\sqrt{{113}}\right)}^{{1}}{{3}}}}{{6}}{-}\frac{{8}}{{3}{}{\left({388}{+}{36}{}\sqrt{{113}}\right)}^{{1}}{{3}}}}{-}\frac{{5}}{{3}}{,}\\ {}\frac{{\left({388}{+}{36}{}\sqrt{{113}}\right)}^{{1}}{{3}}}}{{12}}{+}\frac{{4}}{{3}{}{\left({388}{+}{36}{}\sqrt{{113}}\right)}^{{1}}{{3}}}}{-}\frac{{5}}{{3}}\\ {}{+}\frac{{I}}{{2}}{}\sqrt{{3}}{}\left({-}\frac{{\left({388}{+}{36}{}\sqrt{{113}}\right)}^{{1}}{{3}}}}{{6}}{+}\frac{{8}}{{3}{}{\left({388}{+}{36}{}\sqrt{{113}}\right)}^{{1}}{{3}}}}\right){,}\\ {}\frac{{\left({388}{+}{36}{}\sqrt{{113}}\right)}^{{1}}{{3}}}}{{12}}{+}\frac{{4}}{{3}{}{\left({388}{+}{36}{}\sqrt{{113}}\right)}^{{1}}{{3}}}}{-}\frac{{5}}{{3}}\\ {}{-}\frac{{I}}{{2}}{}\sqrt{{3}}{}\left({-}\frac{{\left({388}{+}{36}{}\sqrt{{113}}\right)}^{{1}}{{3}}}}{{6}}{+}\frac{{8}}{{3}{}{\left({388}{+}{36}{}\sqrt{{113}}\right)}^{{1}}{{3}}}}\right){]}\end{array}\\ {{\mathrm{k}}}_{{1}{,}{1}}{=}{1}\end{array}\right$ (2)
 > $\mathrm{sys3}≔\mathrm{ZeroPoleGain}\left(\left[1,2\right],\left[1,2,3\right]\right):$
 > $\mathrm{PrintSystem}\left(\mathrm{sys3}\right)$
 $\left[\begin{array}{l}{\mathbf{Zero Pole Gain}}\\ {\mathrm{continuous}}\\ {\mathrm{1 output\left(s\right); 1 input\left(s\right)}}\\ {\mathrm{inputvariable}}{=}\left[{\mathrm{u1}}{}\left({s}\right)\right]\\ {\mathrm{outputvariable}}{=}\left[{\mathrm{y1}}{}\left({s}\right)\right]\\ {{\mathrm{z}}}_{{1}{,}{1}}{=}\left[{-2}\right]\\ {{\mathrm{p}}}_{{1}{,}{1}}{=}\left[{-}{1}{-}{I}{}\sqrt{{2}}{,}{-}{1}{+}{I}{}\sqrt{{2}}\right]\\ {{\mathrm{k}}}_{{1}{,}{1}}{=}{1}\end{array}\right$ (3)
 > $\mathrm{sys4}≔\mathrm{ZeroPoleGain}\left(\left[\right],\left[-5+1I,-5-1I\right],1\right):$
 > $\mathrm{PrintSystem}\left(\mathrm{sys4}\right)$
 $\left[\begin{array}{l}{\mathbf{Zero Pole Gain}}\\ {\mathrm{continuous}}\\ {\mathrm{1 output\left(s\right); 1 input\left(s\right)}}\\ {\mathrm{inputvariable}}{=}\left[{\mathrm{u1}}{}\left({s}\right)\right]\\ {\mathrm{outputvariable}}{=}\left[{\mathrm{y1}}{}\left({s}\right)\right]\\ {{\mathrm{z}}}_{{1}{,}{1}}{=}\left[\right]\\ {{\mathrm{p}}}_{{1}{,}{1}}{=}\left[{-5}{+}{I}{,}{-5}{-}{I}\right]\\ {{\mathrm{k}}}_{{1}{,}{1}}{=}{1}\end{array}\right$ (4)
 > $\mathrm{ss_a}≔\mathrm{Matrix}\left(\left[\left[1,2\right],\left[0,4\right]\right]\right)$
 ${\mathrm{ss_a}}{≔}\left[\begin{array}{cc}{1}& {2}\\ {0}& {4}\end{array}\right]$ (5)
 > $\mathrm{ss_b}≔\mathrm{Matrix}\left(\left[\left[3,7\right],\left[9,6\right]\right]\right)$
 ${\mathrm{ss_b}}{≔}\left[\begin{array}{cc}{3}& {7}\\ {9}& {6}\end{array}\right]$ (6)
 > $\mathrm{ss_c}≔\mathrm{Matrix}\left(\left[\left[5,6\right],\left[5,2\right]\right]\right)$
 ${\mathrm{ss_c}}{≔}\left[\begin{array}{cc}{5}& {6}\\ {5}& {2}\end{array}\right]$ (7)
 > $\mathrm{ss_d}≔\mathrm{Matrix}\left(\left[\left[0,0\right],\left[0,0\right]\right]\right)$
 ${\mathrm{ss_d}}{≔}\left[\begin{array}{cc}{0}& {0}\\ {0}& {0}\end{array}\right]$ (8)
 > $\mathrm{sys5}≔\mathrm{ZeroPoleGain}\left(\mathrm{ss_a},\mathrm{ss_b},\mathrm{ss_c},\mathrm{ss_d},\mathrm{discrete},\mathrm{sampletime}=0.001,\mathrm{systemname}="Example discrete MIMO system"\right):$
 > $\mathrm{PrintSystem}\left(\mathrm{sys5}\right)$
 $\left[\begin{array}{l}{\mathbf{Zero Pole Gain}}\\ {\mathrm{discrete; sampletime = .1e-2}}\\ {\mathrm{systemname}}{=}{\mathrm{Example discrete MIMO system}}\\ {\mathrm{2 output\left(s\right); 2 input\left(s\right)}}\\ {\mathrm{inputvariable}}{=}\left[{\mathrm{u1}}{}\left({z}\right){,}{\mathrm{u2}}{}\left({z}\right)\right]\\ {\mathrm{outputvariable}}{=}\left[{\mathrm{y1}}{}\left({z}\right){,}{\mathrm{y2}}{}\left({z}\right)\right]\\ {{\mathrm{z}}}_{{1}{,}{1}}{=}\left[\frac{{8}}{{23}}\right]\\ {{\mathrm{p}}}_{{1}{,}{1}}{=}\left[{1}{,}{4}\right]\\ {{\mathrm{k}}}_{{1}{,}{1}}{=}{69}\\ {{\mathrm{z}}}_{{2}{,}{1}}{=}\left[{-}\frac{{4}}{{11}}\right]\\ {{\mathrm{p}}}_{{2}{,}{1}}{=}\left[{1}{,}{4}\right]\\ {{\mathrm{k}}}_{{2}{,}{1}}{=}{33}\\ {{\mathrm{z}}}_{{1}{,}{2}}{=}\left[\frac{{116}}{{71}}\right]\\ {{\mathrm{p}}}_{{1}{,}{2}}{=}\left[{1}{,}{4}\right]\\ {{\mathrm{k}}}_{{1}{,}{2}}{=}{71}\\ {{\mathrm{z}}}_{{2}{,}{2}}{=}\left[\frac{{92}}{{47}}\right]\\ {{\mathrm{p}}}_{{2}{,}{2}}{=}\left[{1}{,}{4}\right]\\ {{\mathrm{k}}}_{{2}{,}{2}}{=}{47}\end{array}\right$ (9)

Compatibility

 • The DynamicSystems[ZeroPoleGain] command was updated in Maple 18.
 • The parameters option was introduced in Maple 18.