ml_ct_soss_bt

Balanced truncation for second-order state-space systems.

Contents

Syntax

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

Description

This function computes the 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' + B*B' = 0,
    A'*Q*E + E'*Q*A + C'*C = 0
are solved for the system Gramians P and Q, where
        [ 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.
Note: The method only allows asymptotically stable second-order
      systems with invertible mass matrix.

Input

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
sys  - structure, containing the second-order system's matrices:

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

opts - structure, containing the following optional entries:

Parameter
Meaning
BalanceType
character array, determining the type of second-order balancing
  • 'p' - position balancing (vel. Gram.)
  • 'pv' - position-velocity balancing
  • 'vp' - velocity-position balancing
  • 'vpv' - velocity-position balancing (vel. Gram.)
  • 'v' - velocity balancing
  • 'fv' - free velocity balancing
  • 'so' - second-order balancing
default: 'so'
lyapdlopts
structure, containing the optional parameters for the computation of the continuous-time Lyapunov equations, see ml_lyapdl_sgn_fac
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'
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'
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

Output

Mr   - matrix of (3) with dimensions r x r
Er   - matrix of (3) with dimensions r x r
Bur  - matrix of (3) with dimensions r x m
Cpr  - matrix of (4) with dimensions p x r
Cvr  - matrix of (4) with dimensions p x r
Dr   - matrix of (4) with dimensions p x m
rom  - structure, with the following entries:

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

info - structure, containing the following information:

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_fac
N
Dimension of the reduced-order model

Reference

T. Reis, T. Stykel, Balanced truncation model reduction of second-order systems, Math. Comput. Model. Dyn. Syst. 14 (5) (2008) 391--406. https://doi.org/10.1080/13873950701844170

See Also

ml_ct_ss_bt | ml_ct_dss_bt | ml_morlabopts