Invariant zeros of linear system
z = tzero(sys)
z = tzero(A,B,C,D,E)
z = tzero(___,tol)
[z,nrank] = tzero(___)
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.
Omit E for an explicit state-space model (E = I).
MIMO dynamic system model. If sys is not a state-space model, then tzero computes tzero(ss(sys)).
State-space matrices describing the linear system
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.
Relative 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.
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.
Find the invariant zeros of a MIMO transfer function and confirm that they coincide with the transmission zeros.
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.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.
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 = 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 the unobservable and uncontrollable modes of a MIMO model using the state-space matrix syntax of tzero.
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.
Scale the state-space matrices of gasf.
[A,B,C,D] = ssdata(prescale(gasf));
To identify the unobservable and uncontrollable modes of gasf, you need access to the state-space matrices A, B, C, and D of the model. tzero does not scale state-space matrices when you use the syntax. Therefore, use prescale with ssdata to extract scaled values of these matrices.
Use tzero to identify the uncontrollable states of gasf.
uncon = tzero(A,B,,)
uncon = -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 = Empty matrix: 0-by-1
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.
To calculate the zeros and gain of a single-input, single-output (SISO) system, use zero.
For a MIMO state-space model
the invariant zeros are the complex values of s for which the rank of the system matrix
drops from its normal value. (For explicit state-space models, E = I).
For a MIMO state-space model
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.
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 Unobservable and Uncontrollable Modes of MIMO Model for an example.
 Emami-Naeini, A. and P. Van Dooren, "Computation of Zeros of Linear Multivariable Systems," Automatica, 18 (1982), pp. 415–430.
 Misra, P, P. Van Dooren, and A. Varga, "Computation of Structural Invariants of Generalized State-Space Systems," Automatica, 30 (1994), pp. 1921-1936.