Transfer function model with identifiable parameters
sys = idtf(num,den)
sys = idtf(num,den,Ts)
sys = idtf(___,Name,Value)
sys = idtf(sys0)
creates
a transfer function with properties specified
by one or more sys
= idtf(___,Name,Value
)Name,Value
pair arguments.
converts
any dynamic system model, sys
= idtf(sys0
)sys0
, to idtf
model
form.
An idtf
model represents a system as a
continuoustime or discretetime transfer function with identifiable
(estimable) coefficients.
A SISO transfer function is a ratio of polynomials with an exponential term. In continuous time,
$$G\left(s\right)={e}^{\tau s}\frac{{b}_{n}{s}^{n}+{b}_{n1}{s}^{n1}+\mathrm{...}+{b}_{0}}{{s}^{m}+{a}_{m1}{s}^{m1}+\mathrm{...}+{a}_{0}}.$$
In discrete time,
$$G\left({z}^{1}\right)={z}^{k}\frac{{b}_{n}{z}^{n}+{b}_{n1}{z}^{n+1}+\mathrm{...}+{b}_{0}}{{z}^{m}+{a}_{m1}{z}^{m+1}+\mathrm{...}+{a}_{0}}.$$
In discrete time, z^{–k} represents a time delay of kT_{s}, where T_{s} is the sample time.
For idtf
models, the denominator coefficients a_{0},...,a_{m–1} and
the numerator coefficients b_{0},...,b_{n} can
be estimable parameters. (The leading denominator coefficient is always
fixed to 1.) The time delay τ (or kin
discrete time) can also be an estimable parameter. The idtf
model
stores the polynomial coefficients a_{0},...,a_{m–1} and b_{0},...,b_{n} in
the Denominator
and Numerator
properties
of the model, respectively. The time delay τ or k is
stored in the IODelay
property of the model.
A MIMO transfer function contains a SISO transfer function corresponding
to each inputoutput pair in the system. For idtf
models,
the polynomial coefficients and transport delays of each inputoutput
pair are independently estimable parameters.
There are three ways to obtain an idtf
model.
Estimate the idtf
model based
on inputoutput measurements of a system, using tfest
. The tfest
command
estimates the values of the transfer function coefficients and transport
delays. The estimated values are stored in the Numerator
, Denominator
,
and IODelay
properties of the resulting idtf
model.
The Report
property of the resulting model stores
information about the estimation, such as handling of initial conditions
and options used in estimation.
When you obtain an idtf
model by estimation,
you can extract estimated coefficients and their uncertainties from
the model. To do so, use commands such as tfdata
, getpar
, or getcov
.
Create an idtf
model using the idtf
command.
You can create an idtf
model to configure
an initial parameterization for estimation of a transfer function
to fit measured response data. When you do so, you can specify constraints
on such values as the numerator and denominator coefficients and transport
delays. For example, you can fix the values of some parameters, or
specify minimum or maximum values for the free parameters. You can
then use the configured model as an input argument to tfest
to estimate parameter values with
those constraints.
Convert an existing dynamic system model to an idtf
model
using the idtf
command.
Unlike idss
and idpoly
, idtf
uses
a trivial noise model and does not parameterize the noise.
So, H = 1 in $$y=Gu+He$$.

Initial values of transfer function numerator coefficients. For SISO transfer functions, specify the initial values of the
numerator coefficients
Use For MIMO transfer functions with 

Initial values of transfer function denominator coefficients. For SISO transfer functions, specify the initial values of the
denominator coefficients
The leading coefficient in For MIMO transfer functions with 

Sample time. For continuoustime models, Changing this property does not discretize or resample the model.
Use Default: 

Dynamic system. Any dynamic system to convert to an When 
Specify optional
commaseparated pairs of Name,Value
arguments. Name
is
the argument name and Value
is the corresponding value.
Name
must appear inside single quotes (' '
). You can
specify several name and value pair arguments in any order as
Name1,Value1,...,NameN,ValueN
.
Use Name,Value
arguments to specify additional properties of idtf
models
during model creation. For example, idtf(num,den,'InputName','Voltage')
creates
an idtf
model with the InputName
property
set to Voltage
.
idtf
object properties include:

Values of transfer function numerator coefficients. If you create an If you obtain an For an For SISO transfer functions, the values of the numerator coefficients are stored as a row vector in order of:
Any coefficient whose initial value is not known is stored as For MIMO transfer functions with 

Values of transfer function denominator coefficients. If you create an If you obtain an For an For SISO transfer functions, the values of the denominator coefficients are stored as a row vector in order of:
The leading coefficient in For MIMO transfer functions with 

Transfer function display variable, specified as one of the following values:
The value of 

Transport delays. If you create an If you obtain an For an For continuoustime systems, transport delays are expressed
in the time unit stored in the For a MIMO system with Default: 

Information about the estimable parameters of the
For a MIMO model with 

The variance (covariance matrix) of the model innovations e. An identified model includes a white, Gaussian noise component e(t). For SISO models, 

Summary report that contains information about the estimation
options and results when the transfer function model is obtained using
estimation commands, such as
The contents of m = idtf([1 4],[1 20 5]); m.Report.OptionsUsed ans = [] If you obtain the transfer function model using estimation commands,
the fields of load iddata2 z2; m = tfest(z2,3); m.Report.OptionsUsed InitMethod: 'iv' InitOption: [1x1 struct] InitialCondition: 'auto' Focus: 'simulation' EstCovar: 1 Display: 'off' InputOffset: [] OutputOffset: [] Regularization: [1x1 struct] SearchMethod: 'auto' SearchOption: [1x1 idoptions.search.identsolver] OutputWeight: [] Advanced: [1x1 struct]
For more information on this property and how to use it, see the Output Arguments section of the corresponding estimation command reference page and Estimation Report. 

Input delays. For a system with Estimation treats Default: 

Output delays. For identified systems, like 

Sample time. For continuoustime models, Changing this property does not discretize or resample the model.
Use Default: 

Units for the time variable, the sample time
Changing this property has no effect on other properties, and
therefore changes the overall system behavior. Use Default: 

Input channel names, specified as one of the following:
Alternatively, use automatic vector expansion to assign input
names for multiinput models. For example, if sys.InputName = 'controls'; The input names automatically expand to When you estimate a model using an You can use the shorthand notation Input channel names have several uses, including:
Default: 

Input channel units, specified as one of the following:
Use Default: 

Input channel groups. The sys.InputGroup.controls = [1 2]; sys.InputGroup.noise = [3 5]; creates input groups named sys(:,'controls') Default: Struct with no fields 

Output channel names, specified as one of the following:
Alternatively, use automatic vector expansion to assign output
names for multioutput models. For example, if sys.OutputName = 'measurements'; The output names automatically expand to When you estimate a model using an You can use the shorthand notation Output channel names have several uses, including:
Default: 

Output channel units, specified as one of the following:
Use Default: 

Output channel groups. The sys.OutputGroup.temperature = [1]; sys.InputGroup.measurement = [3 5]; creates output groups named sys('measurement',:) Default: Struct with no fields 

System name, specified as a character vector. For example, Default: 

Any text that you want to associate with the system, stored as a string or a cell array of
character vectors. The property stores whichever data type you
provide. For instance, if sys1.Notes = "sys1 has a string."; sys2.Notes = 'sys2 has a character vector.'; sys1.Notes sys2.Notes ans = "sys1 has a string." ans = 1×1 cell array {'sys2 has a character vector.'} Default: 

Any type of data you want to associate with system, specified as any MATLAB^{®} data type. Default: 

Sampling grid for model arrays, specified as a data structure. For arrays of identified linear (IDLTI) models that are derived by sampling one or more independent variables, this property tracks the variable values associated with each model. This information appears when you display or plot the model array. Use this information to trace results back to the independent variables. Set the field names of the data structure to the names of the sampling variables. Set the field values to the sampled variable values associated with each model in the array. All sampling variables should be numeric and scalar valued, and all arrays of sampled values should match the dimensions of the model array. For example, if you collect data at various operating points of a system, you can identify a model for each operating point separately and then stack the results together into a single system array. You can tag the individual models in the array with information regarding the operating point: nominal_engine_rpm = [1000 5000 10000];
sys.SamplingGrid = struct('rpm', nominal_engine_rpm) where For model arrays generated by linearizing a Simulink^{®} model
at multiple parameter values or operating points, the software populates Default: 