Skip to Main Content Skip to Search
Product Documentation

minreal - Minimal realization or pole-zero cancelation

Syntax

sysr = minreal(sys)
sysr = minreal(sys,tol)
[sysr,u] = minreal(sys,tol)

Description

sysr = minreal(sys) eliminates uncontrollable or unobservable state in state-space models, or cancels pole-zero pairs in transfer functions or zero-pole-gain models. The output sysr has minimal order and the same response characteristics as the original model sys.

sysr = minreal(sys,tol) specifies the tolerance used for state elimination or pole-zero cancellation. The default value is tol = sqrt(eps) and increasing this tolerance forces additional cancellations.

[sysr,u] = minreal(sys,tol) returns, for state-space model sys, an orthogonal matrix U such that (U*A*U',U*B,C*U') is a Kalman decomposition of (A,B,C)

Examples

The commands

g = zpk([],1,1)
h = tf([2 1],[1 0])
cloop = inv(1+g*h) * g

produce the nonminimal zero-pole-gain model by typing cloop.

Zero/pole/gain:
      s (s-1)
-------------------
(s-1) (s^2 + s + 1)

To cancel the pole-zero pair at s = 1, type

cloop = minreal(cloop)

This command produces the following result.

Zero/pole/gain:
      s
-------------
(s^2 + s + 1)

Algorithms

Pole-zero cancellation is a straightforward search through the poles and zeros looking for matches that are within tolerance. Transfer functions are first converted to zero-pole-gain form.

See Also

balreal | modred | sminreal

  


Free Control Systems Interactive Kit

Learn more about resources for designing, testing, and implementing control systems.

Get free kit

Trials Available

Try the latest control systems products.

Get trial software
 © 1984-2012- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS