ml_ct_soss_flbt

Frequency-limited balanced truncation for s.-o. systems.

Contents

Syntax

[Mr, Er, Kr, Bur, Cpr, Cvr, Dr, info] = ml_ct_soss_flbt(M, E, K, Bu, Cp, Cv, D)
[Mr, Er, Kr, Bur, Cpr, Cvr, Dr, info] = ml_ct_soss_flbt(M, E, K, Bu, Cp, Cv, D, opts)
[rom, info] = ml_ct_soss_flbt(sys)
[rom, info] = ml_ct_soss_flbt(sys, opts)

Description

This function computes the freuqency-limited balanced truncation for a second-order system of the form

   M*x''(t) = -K*x(t) -  E*x'(t) + Bu*u(t)                         (1)
       y(t) = Cp*x(t) + Cv*x'(t) +  D*u(t)                         (2)

Therefore, the two generalized Lyapunov equations

   A*P*E' + E*P*A' + BF*B' + B*BF' = 0,
   A'*Q*E + E'*Q*A + CF'*C + C'*CF = 0,

where BF and CF are frequency-dependent matrices, are solved for the system Gramians P and Q, with

       [ I  0 ]      [ 0   I ]      [ 0  ]
   E = [      ], A = [       ], B = [    ], C = [Cp, Cv].
       [ 0  M ]      [ -K -E ]      [ Bu ]

As a result, a reduced-order system of the form

   Mr*x''(t) = -Kr*x(t) -  Er*x'(t) + Bur*u(t)                     (3)
        y(t) = Cpr*x(t) + Cvr*x'(t) +  Dr*u(t)                     (4)

is computed. Using the modified Gramian approach can lead to a more stable reduced-order model but it is at most stable as the classical second-order balanced truncation method.

Note: The method only allows asymptotically stable second-order systems with invertible mass matrix.

Input

Entry
Meaning
M
matrix from (1) with dimensions n x n
E
matrix from (1) with dimensions n x n
K
matrix from (1) with dimensions n x n
Bu
matrix from (1) with dimensions n x m
Cp
matrix from (2) with dimensions p x n
Cv
matrix from (2) with dimensions p x n
D
matrix from (2) with dimensions p x m

Parameter
Meaning
BalanceType
{!}
character array, determining the type of second-order balancing
  • 'p' - position balancing
  • 'pm' - position balancing (diagonalized M)
  • 'pv' - position-velocity balancing
  • 'vp' - velocity-position balancing
  • 'vpm' - velocity-position balancing (diag. M)
  • 'v' - velocity balancing
  • 'fv' - free velocity balancing
  • 'so' - second-order balancing
default: 'so'
FreqRange
nonnegative vector, frequency intervals such that [w(1), w(2)] ... [w(2k-1), w(2k)] are approximated
default: [0, 1.0e+03]
lyapdlopts
structure, containing the optional parameters for the computation of the generalized continuous-time Lyapunov equations, see ml_lyapdl_sgn_ldl if ModGramian = 0 and ml_lyapdl_sgn_fac if ModGramian = 1
default: struct()
Method
{!}
character array, determining algorithm for the computation of the reduced-order model
  • 'sr' - square-root method
  • 'bfsr' - balancing-free square-root method
default: 'sr'
ModGramian
{0, 1}, used to disable/enable the modified Gramian approach
default: 0
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))
OrderComputation
{!}
character array, determining the method for the computation of the size of the reduced-order model
  • 'order' - take explicit order
  • 'tolerance' - using rel. tolerance for the hsv
  • 'sum' - using rel. tolerance for sum of hsv
default: 'sum'
StoreProjection
{0, 1}, used to disable/enable storing of the computed projection matrices W and T
default: 0
Tolerance
{!}
nonnegative scalar, tolerance used for the computation of the size of the reduced-order model if 'tolerance' or 'sum' is set for OrderComputation
default: 1.0e-02

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

Entry
Meaning
M
matrix from (1) with dimensions r x r
E
matrix from (1) with dimensions r x r
K
matrix from (1) with dimensions r x r
Bu
matrix from (1) with dimensions r x m
Cp
matrix from (2) with dimensions p x r
Cv
matrix from (2) with dimensions p x r
D
matrix from (2) with dimensions p x m

Entry
Meaning
Hsv
{!}
a vector, containing the computed Hankel singular values, for second-order balancing the position and velocity Hankel singular values are saved in a struct
infoLYAPDL
structure, containing information about the continuous-time dual Lyapunov equations solver, see ml_lyapdl_sgn_ldl or ml_lyapdl_sgn_fac
N
{!}
Dimension of the reduced-order model
T
{!}
projection matrix used as right state-space transformation to obtain the resulting block system, if opts.StoreProjection == 1
W
{!}
projection matrix used as left state-space transformation to obtain the resulting block system, if opts.StoreProjection == 1

See Also

ml_ct_soss_bt | ml_ct_dss_flbt | ml_morlabopts