Documentation Center

  • Trial Software
  • Product Updates


Create option set for model order reduction


opts = balredOptions
opts = balredOptions('OptionName', OptionValue)


opts = balredOptions returns the default option set for the balred command.

opts = balredOptions('OptionName', OptionValue) accepts one or more comma-separated name/value pairs. Specify OptionName inside single quotes.

Input Arguments

Name-Value Pair Arguments


State elimination method. Specifies how to eliminate the weakly coupled states (states with smallest Hankel singular values). Specified as one of the following values:

'MatchDC'Discards the specified states and alters the remaining states to preserve the DC gain.
'Truncate'Discards the specified states without altering the remaining states. This method tends to product a better approximation in the frequency domain, but the DC gains are not guaranteed to match.

Default: 'MatchDC'

'AbsTol, RelTol'

Absolute and relative error tolerance for stable/unstable decomposition. Positive scalar values. For an input model G with unstable poles, balred first extracts the stable dynamics by computing the stable/unstable decomposition G → GS + GU. The AbsTol and RelTol tolerances control the accuracy of this decomposition by ensuring that the frequency responses of G and GS + GU differ by no more than AbsTol + RelTol*abs(G). Increasing these tolerances helps separate nearby stable and unstable modes at the expense of accuracy. See stabsep for more information.

Default: AbsTol = 0; RelTol = 1e-8


Offset for the stable/unstable boundary. Positive scalar value. In the stable/unstable decomposition, the stable term includes only poles satisfying

  • Re(s) < -Offset * max(1,|Im(s)|) (Continuous time)

  • |z| < 1 - Offset (Discrete time)

Increase the value of Offset to treat poles close to the stability boundary as unstable.

Default: 1e-8

For additional information on the options and how to use them, see the balred reference page.


Compute a reduced-order approximation of the system given by:

Use the Offset option to exclude the pole at s = 10–6 from the stable term of the stable/unstable decomposition.

  sys = zpk([-.5 -1.1 -2.9],[-1e-6 -2 -1 -3],1);
  % Create balredOptions
  opt = balredOptions('Offset',.001,'StateElimMethod','Truncate');
  % Compute second-order approximation
  rsys = balred(sys,2,opt)

Compare the original and reduced-order models with bode:


See Also


Was this topic helpful?