tzero
Invariant zeros of linear system
Syntax
z = tzero(sys)
z = tzero(A,B,C,D,E)
z = tzero(___,tol)
[z,nrank]
= tzero(___)
Description
z = tzero(sys)
returns the invariant zeros of
the multi-input, multi-output (MIMO) dynamic system, sys. If
sys is a minimal realization, the invariant zeros
coincide with the transmission zeros
of sys.
invariant zeros of
the state-space model
Edxdt=Ax+Buy=Cx+Du.
Omit E for an explicit state-space model (E
= I).
z = tzero(___,tol)
specifies the relative tolerance, tol, controlling rank
decisions.
[z,nrank]
= tzero(___)
also returns the normal rank of the transfer function of sys
or of the transfer function H(s) = D + C(sE – A)–1B.
Input ArgumentssysMIMO sys
is not a state-space model, then tzero
computes tzero(ss(sys)).
A,B,C,D,EState-space matrices describing the linear system
Edxdt=Ax+Buy=Cx+Du.
tzero does not scale the state-space matrices
when you use the syntax z = tzero(A,B,C,D,E).
Use prescale if
you want to scale the matrices before using
tzero.
Omit E to use E =
I.
tolRelative tolerance controlling rank decisions. Increasing
tolerance helps detect nonminimal modes and eliminate very large
zeros (near infinity). However, increased tolerance might
artificially inflate the number of transmission zeros.
Default:
eps^(3/4)
Output ArgumentszColumn vector containing the invariant
zeros of sys or the
state-space model described by
A,B,C,D,E.
nrankNormal rank of the transfer function of sys
or of the transfer function H(s) = D + C(sE – A)–1B. The normal rank is the
rank for values of s other than the transmission zeros.
To obtain a meaningful result for nrank,
the matrix s*E-A must be regular (invertible
for most values of s). In other words,
sys or the system described by
A,B,C,D,E must have a finite number
of poles.
Examples
Find Transmission Zeros of MIMO Transfer Function
Create a MIMO transfer function, and locate its invariant zeros.
s = tf('s');
H = [1/(s+1) 1/(s+2);1/(s+3) 2/(s+4)];
z = tzero(H)
z = 2×1 complex
-2.5000 + 1.3229i
-2.5000 - 1.3229i
The output is a column vector listing the locations of the invariant zeros of H. This output shows that H a has complex pair of invariant zeros. Confirm that the invariant zeros coincide with the transmission zeros.
Check whether the first invariant zero is a transmission zero of H.
If z(1) is a transmission zero of H, then H drops rank at s = z(1).
H1 = evalfr(H,z(1));
svd(H1)
ans = 2×1
1.5000
0.0000
H1 is the transfer function, H, evaluated at s = z(1). H1 has a zero singular value, indicating that H drops rank at that value of s. Therefore, z(1) is a transmission zero of H.
A similar analysis shows that z(2) is also a transmission zero.
Identify Unobservable and Uncontrollable Modes of MIMO Model
Obtain a MIMO model.
load ltiexamples gasf
size(gasf)
State-space model with 4 outputs, 6 inputs, and 25 states.
gasf is a MIMO model that might contain uncontrollable or unobservable states.
To identify the unobservable and uncontrollable modes of gasf, you need the state-space matrices A, B, C, and D of the model. tzero does not scale state-space matrices. Therefore, use prescale with ssdata to scale the state-space matrices of gasf.
[A,B,C,D] = ssdata(prescale(gasf));
Identify the uncontrollable states of gasf.
uncon = tzero(A,B,[],[])
uncon = 6×1
-0.0568
-0.0568
-0.0568
-0.0568
-0.0568
-0.0568
When you provide A and B matrices to tzero, but no C and D matrices, the command returns the eigenvalues of the uncontrollable modes of gasf. The output shows that there are six degenerate uncontrollable modes.
Identify the unobservable states of gasf.
unobs = tzero(A,[],C,[])
unobs =
0x1 empty double column vector
When you provide A and C matrices, but no B and D matrices, the command returns the eigenvalues of the unobservable modes. The empty result shows that gasf contains no unobservable states.
More About
Invariant zeros
For a MIMO state-space model
Edxdt=Ax+Buy=Cx+Du,
the invariant zeros are the complex values of
s for which the rank of the system matrix
[A−sEBCD]
drops from its normal value. (For explicit state-space models,
E = I).
Transmission zeros
For a MIMO state-space model
Edxdt=Ax+Buy=Cx+Du,
the transmission zeros are the complex values of
s for which the rank of the equivalent transfer
function H(s) = D + C(sE – A)–1B drops from its normal value. (For explicit state-space
models, E = I.)
Transmission zeros are a subset of the invariant
zeros. For minimal realizations, the transmission zeros and
invariant zeros are identical.
Tips
You can use the syntax z = tzero(A,B,C,D,E) to find
the uncontrollable or unobservable modes of a state-space model. When
C and D are empty or zero,
tzero returns the uncontrollable modes of
(A-sE,B). Similarly, when
B and D are empty or zero,
tzero returns the unobservable modes of
(C,A-sE). See Identify Unobservable and Uncontrollable Modes of MIMO Model for
an example.
Algorithms
tzero is based on SLICOT routines AB08ND, AB08NZ, AG08BD, and
AG08BZ. tzero implements the algorithms in [1] and [2].
Alternatives
To calculate the zeros and gain of a single-input, single-output (SISO) system,
use zero.
References
[1] Emami-Naeini, A. and P. Van Dooren, "Computation
of Zeros of Linear Multivariable Systems,"
Automatica, 18 (1982), pp. 415–430.
[2] Misra, P, P. Van Dooren, and A. Varga,
“Computation of Structural Invariants of Generalized State-Space
Systems,” Automatica, 30 (1994), pp.
1921-1936.
Introduced in R2012a