Create option set for computing Hankel singular values and input/output balancing


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


opts = hsvdOptions returns the default options for the hsvd and balreal commands.

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

Input Arguments

Name-Value Pair Arguments

'AbsTol, RelTol'

Absolute and relative error tolerance for stable/unstable decomposition. Positive scalar values. For an input model G with unstable poles, hsvd and balreal first extract 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 hsvd and balreal reference pages.


Compute the Hankel singular values of the system given by:


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

sys = zpk(-.5,[-1e-6 -2],1); 
opts = hsvdOptions('Offset',.001); % create option set
hsvd(sys,opts)  % treats -1e-6 as unstable

See Also


Introduced in R2010a

Was this topic helpful?