TransferFunctionModel
represents the model of the transfer-function matrix g[s] with complex variable s.
specifies the numerator n[s] and denominator d[s] of a transfer-function model.
specifies the zeros z, poles p, and gain g of a transfer-function model.
Details and Options

- TransferFunctionModel is typically used for signal filters and control design.
- A continuous-time system modeled by
where
is the Laplace transform of the output,
is the Laplace transform of the input and
is the transfer matrix can be specified as TransferFunctionModel[g[s],s].
- A discrete-time system modeled by
where
is the Z transform of the output,
is the Z transform of the input and
is the transfer matrix can be specified as TransferFunctionModel[g[z],z,SamplingPeriodτ].
- Time delays can be included in any transfer-function model, by using SystemsModelDelay.
- In TransferFunctionModel[sys], the following systems can be converted:
-
AffineStateSpaceModel approximate Taylor conversion NonlinearStateSpaceModel approximate Taylor conversion StateSpaceModel exact conversion - The following options can be given:
-
Method Automatic the method to obtain the transfer function of a state-space model SamplingPeriod Automatic the sampling period of the system SystemsModelLabels Automatic labels for the input and output variables ExternalTypeSignature Automatic variable types for embedded code - Settings for the Method option include "DeterminantExpansion", "ResolventIdentities", "Inverse", and "Generic". With a setting Method->Automatic, the transfer-function model is computed using determinant expansion.

https://wolfram.com/xid/0e490mxgkvo2hp-4nogqz

https://wolfram.com/xid/0e490mxgkvo2hp-8ndjdp
Examples
open allclose allBasic Examples (5)Summary of the most common use cases
A single-input, single-output system:

https://wolfram.com/xid/0e490mxgkvo2hp-lg83g1

A system with two inputs and one output:

https://wolfram.com/xid/0e490mxgkvo2hp-1vrfvb

Obtain the transfer-function representation of a state-space model:

https://wolfram.com/xid/0e490mxgkvo2hp-zsr5b1

A discrete-time transfer function with a sampling period of 1:

https://wolfram.com/xid/0e490mxgkvo2hp-9loq7i

Evaluate a transfer function over a range of frequencies:

https://wolfram.com/xid/0e490mxgkvo2hp-hl6m37


https://wolfram.com/xid/0e490mxgkvo2hp-l9hcpb

Scope (19)Survey of the scope of standard use cases
A first-order continuous-time system:

https://wolfram.com/xid/0e490mxgkvo2hp-bm0m6u


https://wolfram.com/xid/0e490mxgkvo2hp-crt0yr


https://wolfram.com/xid/0e490mxgkvo2hp-qxcu85

A system with three zeros and six poles:

https://wolfram.com/xid/0e490mxgkvo2hp-ipocyf

A first-order discrete-time system:

https://wolfram.com/xid/0e490mxgkvo2hp-uf959

A two-input, one-output system:

https://wolfram.com/xid/0e490mxgkvo2hp-imjmvm


https://wolfram.com/xid/0e490mxgkvo2hp-nkp2q3

A one-input, two-output system:

https://wolfram.com/xid/0e490mxgkvo2hp-cmn0mc


https://wolfram.com/xid/0e490mxgkvo2hp-b2xjo3

A two-input, two-output system:

https://wolfram.com/xid/0e490mxgkvo2hp-gz8si0


https://wolfram.com/xid/0e490mxgkvo2hp-e0klkb

Specify a transfer function using its numerator and denominator:

https://wolfram.com/xid/0e490mxgkvo2hp-do1072

A MIMO transfer function specified in terms of its numerators and denominators:

https://wolfram.com/xid/0e490mxgkvo2hp-xxuub9

A denominator polynomial that is the least common multiple:

https://wolfram.com/xid/0e490mxgkvo2hp-766h15

Specify the transfer function, using its algebraic poles, zeros, and gains:

https://wolfram.com/xid/0e490mxgkvo2hp-edricn


https://wolfram.com/xid/0e490mxgkvo2hp-zxjo49


https://wolfram.com/xid/0e490mxgkvo2hp-4q2pv3


https://wolfram.com/xid/0e490mxgkvo2hp-wr1xmr


https://wolfram.com/xid/0e490mxgkvo2hp-l8f2xp


https://wolfram.com/xid/0e490mxgkvo2hp-58tqpk

The transfer-function representation of a state-space model:

https://wolfram.com/xid/0e490mxgkvo2hp-cmzziq

Taylor linearize an AffineStateSpaceModel and obtain its transfer function representation:

https://wolfram.com/xid/0e490mxgkvo2hp-llm4k7

The linearization of an AffineStateSpaceModel with nonzero equilibrium values:

https://wolfram.com/xid/0e490mxgkvo2hp-j8cp3e

Taylor linearize a NonlinearStateSpaceModel:

https://wolfram.com/xid/0e490mxgkvo2hp-1st0aq

The list of available properties:

https://wolfram.com/xid/0e490mxgkvo2hp-sdn80s

Generalizations & Extensions (2)Generalized and extended use cases
SISO systems can also be specified as a single-element list:

https://wolfram.com/xid/0e490mxgkvo2hp-fhnkqr

Or just as a rational function:

https://wolfram.com/xid/0e490mxgkvo2hp-wsp05

A single-output system can be given as a list:

https://wolfram.com/xid/0e490mxgkvo2hp-n02ouc

Options (5)Common values & functionality for each option
SamplingPeriod (3)
Specify a continuous-time system:

https://wolfram.com/xid/0e490mxgkvo2hp-6rrmj


https://wolfram.com/xid/0e490mxgkvo2hp-uaq3b3

A discrete-time system with sampling period 1:

https://wolfram.com/xid/0e490mxgkvo2hp-eyx7sd

A system with a symbolic sampling period:

https://wolfram.com/xid/0e490mxgkvo2hp-d04ii

Set the sampling period to a numeric value:

https://wolfram.com/xid/0e490mxgkvo2hp-hi13zs

SystemsModelLabels (1)
Label the input and output variables:

https://wolfram.com/xid/0e490mxgkvo2hp-f6ffdo

By default, the appearance is selected to fit the display in the notebook:

https://wolfram.com/xid/0e490mxgkvo2hp-yz4upi


https://wolfram.com/xid/0e490mxgkvo2hp-b4ty5d

Applications (18)Sample problems that can be solved with this function
A proportional-integral (PI) controller:

https://wolfram.com/xid/0e490mxgkvo2hp-be2lf8

A proportional-derivative (PD) controller:

https://wolfram.com/xid/0e490mxgkvo2hp-b4i0g7

A function to construct a proportional-integral-derivative (PID) controller:

https://wolfram.com/xid/0e490mxgkvo2hp-p9a1fi
A PID with specific gain values:

https://wolfram.com/xid/0e490mxgkvo2hp-3en2g8

A function to construct a discrete-time PID controller:

https://wolfram.com/xid/0e490mxgkvo2hp-2arro8

https://wolfram.com/xid/0e490mxgkvo2hp-358b5c

A function for a continuous-time lead compensator:

https://wolfram.com/xid/0e490mxgkvo2hp-dyp1z5
A lead compensator for specific values of gain and pole-zero locations:

https://wolfram.com/xid/0e490mxgkvo2hp-jktzhc

A function for a continuous-time lag compensator:

https://wolfram.com/xid/0e490mxgkvo2hp-mcdxlc

https://wolfram.com/xid/0e490mxgkvo2hp-66qlid

A digital lag compensator defined in terms of its zero and pole locations:

https://wolfram.com/xid/0e490mxgkvo2hp-752klq

https://wolfram.com/xid/0e490mxgkvo2hp-4x59v2

A general formula for analog lowpass Butterworth filters:

https://wolfram.com/xid/0e490mxgkvo2hp-z375gh

https://wolfram.com/xid/0e490mxgkvo2hp-mji7kr


https://wolfram.com/xid/0e490mxgkvo2hp-w7jjpw


https://wolfram.com/xid/0e490mxgkvo2hp-kektfk

The general second-order transfer function:

https://wolfram.com/xid/0e490mxgkvo2hp-e37qx5
Variations in damping ratio lead to qualitatively different responses:

https://wolfram.com/xid/0e490mxgkvo2hp-5hkq9n

A linearized inverted pendulum model:

https://wolfram.com/xid/0e490mxgkvo2hp-ebckjx

https://wolfram.com/xid/0e490mxgkvo2hp-m7ziil



https://wolfram.com/xid/0e490mxgkvo2hp-cm5w7o

https://wolfram.com/xid/0e490mxgkvo2hp-050nvv

Transfer function between the input voltage and the shaft angular position of a DC motor:

https://wolfram.com/xid/0e490mxgkvo2hp-ylat3g

https://wolfram.com/xid/0e490mxgkvo2hp-l5fkxy

The aileron-to-roll-rate transfer function of an aircraft:


https://wolfram.com/xid/0e490mxgkvo2hp-qzfctt

A temperature-controlled chemical reactor:

https://wolfram.com/xid/0e490mxgkvo2hp-phgygk



https://wolfram.com/xid/0e490mxgkvo2hp-5hahvv

https://wolfram.com/xid/0e490mxgkvo2hp-ixhjcb

A MIMO transfer function describing an aircraft's longitudinal dynamics:

https://wolfram.com/xid/0e490mxgkvo2hp-5k8k2a

A ball mill grinding system with delay due to material transport:

https://wolfram.com/xid/0e490mxgkvo2hp-7bg0s

Properties & Relations (8)Properties of the function, and connections to other functions
TransferFunctionModel behaves as a pure function of one argument:

https://wolfram.com/xid/0e490mxgkvo2hp-0e8hmz


https://wolfram.com/xid/0e490mxgkvo2hp-u501mo

The value of the transfer-function matrix at a specific frequency:

https://wolfram.com/xid/0e490mxgkvo2hp-34ie7

The values at several frequencies:

https://wolfram.com/xid/0e490mxgkvo2hp-ex2gfi

Use TransferFunctionFactor to obtain the factored form:

https://wolfram.com/xid/0e490mxgkvo2hp-kyhtjx


https://wolfram.com/xid/0e490mxgkvo2hp-fg5dje

Use TransferFunctionCancel to cancel any common poles and zeros:

https://wolfram.com/xid/0e490mxgkvo2hp-bymqys


https://wolfram.com/xid/0e490mxgkvo2hp-1vvxu0

Collect terms with similar powers:

https://wolfram.com/xid/0e490mxgkvo2hp-bfzoz1

Collect terms in any variable:

https://wolfram.com/xid/0e490mxgkvo2hp-s3lpgk

Find the element zeros and poles of a transfer-function matrix:

https://wolfram.com/xid/0e490mxgkvo2hp-vi61ey

https://wolfram.com/xid/0e490mxgkvo2hp-8kgfuo


https://wolfram.com/xid/0e490mxgkvo2hp-qns8tg

Obtain a state-space form of a transfer-function model:

https://wolfram.com/xid/0e490mxgkvo2hp-q1jknm

Possible Issues (3)Common pitfalls and unexpected behavior
In TransferFunctionModel[m,var], pole-zero pairs may cancel before being processed:

https://wolfram.com/xid/0e490mxgkvo2hp-u09jrx


https://wolfram.com/xid/0e490mxgkvo2hp-7m2bxy

Use Unevaluated to prevent cancellations:

https://wolfram.com/xid/0e490mxgkvo2hp-3746b8

Or use TransferFunctionModel[{num,den},var]:

https://wolfram.com/xid/0e490mxgkvo2hp-vjlq92

Or TransferFunctionModel[{z,p,g},var]:

https://wolfram.com/xid/0e490mxgkvo2hp-z3o5y4

TransferFunctionModel[m,var] might result in a system with higher order:

https://wolfram.com/xid/0e490mxgkvo2hp-nui6rm


https://wolfram.com/xid/0e490mxgkvo2hp-j4tm8r

Or simplify m before passing it to TransferFunctionModel:

https://wolfram.com/xid/0e490mxgkvo2hp-chzkxi


https://wolfram.com/xid/0e490mxgkvo2hp-dkwta3

If the complex variable var is not specified, it is assumed to be s for continuous-time systems:

https://wolfram.com/xid/0e490mxgkvo2hp-hbdrjy



https://wolfram.com/xid/0e490mxgkvo2hp-u83in2

Specify the transfer function using s:

https://wolfram.com/xid/0e490mxgkvo2hp-3epe8h

For discrete-time systems, use z:

https://wolfram.com/xid/0e490mxgkvo2hp-sc1qbq

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