DynamicSystems - Maple Programming Help

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

DynamicSystems

 TransferFunction
 create a transfer function system object

 Calling Sequence TransferFunction(opts) TransferFunction(sys, opts) TransferFunction(tf, opts) TransferFunction(z, p, k, opts) TransferFunction(num, den, opts) TransferFunction(a, b, c, d, opts) TransferFunction(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 TransferFunction 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].
 • output = 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 of name=complexcons
 Specifies values for symbolic parameters. These are used in operations that require numeric evaluation, such as plotting.

Description

 • The TransferFunction command creates a transfer function (TF) system object. The frequency-domain behavior of the object is modeled by rational functions (ratpoly) corresponding to transfer functions in the frequency domain.
 • If the system option cancellation is set to true with DynamicSystems[SystemOptions], then during the conversion pole zero cancellation will be performed.  The system option relativeerror is used to match poles and zeros to cancel.
 • 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 TF system is created.
 • The optional parameter sys is a system object; it is converted to the TF 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{TransferFunction}\left(\right):$
 > $\mathrm{PrintSystem}\left(\mathrm{sys1}\right)$
 $\left[\begin{array}{l}{\mathbf{Transfer Function}}\\ {\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{tf}}}_{{1}{,}{1}}{=}{1}\end{array}\right$ (1)
 > $\mathrm{sys2}≔\mathrm{TransferFunction}\left(\frac{s}{{s}^{3}+5{s}^{2}+7s+6}\right):$
 > $\mathrm{PrintSystem}\left(\mathrm{sys2}\right)$
 $\left[\begin{array}{l}{\mathbf{Transfer Function}}\\ {\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{tf}}}_{{1}{,}{1}}{=}\frac{{s}}{{{s}}^{{3}}{+}{5}{}{{s}}^{{2}}{+}{7}{}{s}{+}{6}}\end{array}\right$ (2)
 > $\mathrm{sys3}≔\mathrm{TransferFunction}\left(\left[1,2\right],\left[1,2,3\right]\right):$
 > $\mathrm{PrintSystem}\left(\mathrm{sys3}\right)$
 $\left[\begin{array}{l}{\mathbf{Transfer Function}}\\ {\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{tf}}}_{{1}{,}{1}}{=}\frac{{s}{+}{2}}{{{s}}^{{2}}{+}{2}{}{s}{+}{3}}\end{array}\right$ (3)
 > $\mathrm{sys4}≔\mathrm{TransferFunction}\left(\left[\right],\left[-5+1I,-5-1I\right],1\right):$
 > $\mathrm{PrintSystem}\left(\mathrm{sys4}\right)$
 $\left[\begin{array}{l}{\mathbf{Transfer Function}}\\ {\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{tf}}}_{{1}{,}{1}}{=}\frac{{1}}{{{s}}^{{2}}{+}{10}{}{s}{+}{26}}\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{TransferFunction}\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{Transfer Function}}\\ {\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{tf}}}_{{1}{,}{1}}{=}\frac{{69}{}{z}{-}{24}}{{{z}}^{{2}}{-}{5}{}{z}{+}{4}}\\ {{\mathrm{tf}}}_{{2}{,}{1}}{=}\frac{{33}{}{z}{+}{12}}{{{z}}^{{2}}{-}{5}{}{z}{+}{4}}\\ {{\mathrm{tf}}}_{{1}{,}{2}}{=}\frac{{71}{}{z}{-}{116}}{{{z}}^{{2}}{-}{5}{}{z}{+}{4}}\\ {{\mathrm{tf}}}_{{2}{,}{2}}{=}\frac{{47}{}{z}{-}{92}}{{{z}}^{{2}}{-}{5}{}{z}{+}{4}}\end{array}\right$ (9)

Compatibility

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