Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Control System Toolbox™ software supports transfer functions that are continuous-time or discrete-time, and SISO or MIMO. You can also have time delays in your transfer function representation.

A SISO continuous-time transfer function is expressed as the ratio:

$$G\left(s\right)=\frac{N\left(s\right)}{D\left(s\right)},$$

of polynomials *N*(*s*)
and *D*(*s*), called the numerator and denominator polynomials, respectively.

You can represent linear systems as transfer functions in polynomial or factorized (zero-pole-gain) form. For example, the polynomial-form transfer function:

$$G\left(s\right)=\frac{{s}^{2}-3s-4}{{s}^{2}+5s+6}$$

can be rewritten in factorized form as:

$$G\left(s\right)=\frac{\left(s+1\right)\left(s-4\right)}{\left(s+2\right)\left(s+3\right)}.$$

The `tf`

model object represents transfer functions in
polynomial form. The `zpk`

model object represents transfer
functions in factorized form.

MIMO transfer functions are arrays of SISO transfer functions. For example:

$$G\left(s\right)=\left[\begin{array}{c}\frac{s-3}{s+4}\\ \frac{s+1}{s+2}\end{array}\right]$$

is a one-input, two output transfer function.

Use the commands described in the following table to create transfer functions.

Command |
Description |
---|---|

`tf` |
Create |

`zpk` |
Create |

`filt` |
Create |

This example shows how to create continuous-time single-input, single-output
(SISO) transfer functions from their numerator and denominator coefficients using
`tf`

.

Create the transfer function $$G\left(s\right)=\frac{s}{{s}^{2}+3s+2}$$:

num = [1 0]; den = [1 3 2]; G = tf(num,den);

`num`

and `den`

are the numerator and
denominator polynomial coefficients in descending powers of *s*.
For example, `den = [1 3 2]`

represents the denominator polynomial *s*^{2} + 3*s* + 2.

`G`

is a `tf`

model object, which is a data
container for representing transfer functions in polynomial form.

Alternatively, you can specify the transfer function
*G*(*s*) as an expression in
*s*:

Create a transfer function model for the variable

*s*.s = tf('s');

Specify

*G*(*s*) as a ratio of polynomials in*s*.G = s/(s^2 + 3*s + 2);

This example shows how to create single-input, single-output (SISO) transfer
functions in factored form using `zpk`

.

Create the factored transfer function $$G\left(s\right)=5\frac{s}{\left(s+1+i\right)\left(s+1-i\right)\left(s+2\right)}$$:

Z = [0]; P = [-1-1i -1+1i -2]; K = 5; G = zpk(Z,P,K);

`Z`

and `P`

are the zeros and poles (the roots
of the numerator and denominator, respectively). `K`

is the gain of
the factored form. For example, *G*(*s*) has a
real pole at *s* = –2 and a pair of complex poles at
*s* = –1 ± *i*. The
vector `P = [-1-1i -1+1i -2]`

specifies these pole
locations.

`G`

is a `zpk`

model object, which is a data
container for representing transfer functions in zero-pole-gain (factorized) form.