ml_ct_ss_hna
Hankel-norm approximation for standard systems.
Contents
Syntax
[Ar, Br, Cr, Dr, info] = ml_ct_ss_hna(A, B, C, D) [Ar, Br, Cr, Dr, info] = ml_ct_ss_hna(A, B, C, D, opts)
[rom, info] = ml_ct_ss_hna(sys) [rom, info] = ml_ct_ss_hna(sys, opts)
Description
This function computes the Hankel-norm approximation of a standard system of the form
x'(t) = A*x(t) + B*u(t), (1) y(t) = C*x(t) + D*u(t). (2)
Therefore, first a balanced realization is computed by using the balanced truncation square-root method with an appropriate tolerance for the minimal realization of the given system. Then the system is transformed using the formulas given in the reference below. As result, a reduced-order system of the form
x'(t) = Ar*x(t) + Br*u(t), (3) y(t) = Cr*x(t) + Dr*u(t) (4)
is computed, such that for the original transfer function G and and the r-th order transfer function Gr it holds
||G - Gr||_{H} = Hsv(r+1), ||G - Gr||_{\infty} <= 2 * (Hsv(r+1) + ... + Hsv(n)),
with Hsv, a vector containing the Hankel singular values of the system.
Note: For unstable systems, first an additive decomposition into the stable and anti-stable parts is performed and then only the stable part will be reduced. That does not change the error formulas.
Input
- A - matrix from (1) with dimensions n x n
- B - matrix from (1) with dimensions n x m
- C - matrix from (2) with dimensions p x n
- D - matrix from (2) with dimensions p x m
- sys - structure or state-space object, containing the standard system's matrices:
Entry | Meaning |
A | matrix from (1) with dimensions n x n |
B | matrix from (1) with dimensions n x m |
C | matrix from (2) with dimensions p x n |
D | matrix from (2) with dimensions p x m |
- opts - structure, containing the following optional entries:
Parameter | Meaning |
hankelsignmopts | structure, containing the optional parameters for the matrix sign function used for the decomposition after the transformation of an all-pass system, see ml_signm default: struct() |
hankelsylvopts | structure, containing the optional parameters for the Sylvester equation solver used for the decomposition after the transformation of an all-pass system, see ml_sylv_sgn default: struct() |
lyapdlopts | structure, containing the optional parameters for the computation of the continuous-time Lyapunov equations, see ml_lyapdl_sgn_fac default: struct() |
MinRelTol {!} | nonnegative scalar, tolerance multiplied with the largest characteristic value to determine a minimal realization default: log(n)*eps |
Order {!} | positive integer, order of the resulting reduced-order model chosen by the user if 'order' is set for OrderComputation default: min(10,length(Hsv)) + Nu |
OrderComputation {!} | character array, determining the method for the computation of the size of the reduced-order model
|
stabsignmopts | structure, containing the optional parameters for the matrix sign function used for the decomposition into stable and anti-stable system parts, see ml_signm default: struct() |
stabsylvopts | structure, containing the optional parameters for the Sylvester equation solver used for the decomposition into stable and anti-stable system parts, see ml_sylv_sgn default: struct() |
Tolerance {!} | nonnegative scalar, tolerance used for the computation of the size of the reduced-order model by an absolute error bound if 'tolerance' is set for OrderComputation default: 1.0e-02 |
UnstabDim | integer, dimension of the deflating anti-stable subspace, negative if unknown default: -1 |
Note: Parameters marked with {!} may also be a cell array containing multiple arguments. In this case an cell array of the same size is returned with one entry computed for each input argument and the marked fields of the info struct are cells as well. When multiple arguments are given as cells, they are expected to have the same length.
Output
- Ar - matrix of (3) with dimensions r x r
- Br - matrix of (3) with dimensions r x m
- Cr - matrix of (4) with dimensions p x r
- Dr - matrix of (4) with dimensions p x m
- rom - structure or state-space object, with the following entries:
Entry | Meaning |
A | matrix from (3) with dimensions r x r |
B | matrix from (3) with dimensions r x m |
C | matrix from (4) with dimensions p x r |
D | matrix from (4) with dimensions p x m |
- info - structure, containing the following information:
Entry | Meaning |
AbsErrBound {!} | computed error bound for the absolute error of the reduced-order model in H-infinity norm |
Hsv | a vector, containing the computed Hankel singular values |
infoADTF | structure, containing information about the additive decomposition of the system into its stable and anti-stable parts, see ml_ct_ss_adtf |
infoHAADTF | structure, containing information about the additive decomposition of the Hankel-norm transformed system, see ml_ct_ss_adtf |
infoLYAPDL | structure, containing information about the continuous-time dual Lyapunov equations solver, see ml_lyapdl_sgn_fac |
Ns {!} | Dimension of the stable part of the reduced-order model |
Nu | Dimension of the anti-stable part of the reduced- order model |
Sigma {!} | Chosen Hankel singular value, exact approximation error in the Hankel-norm |
Reference
See Also