ml_ct_soss_tlbt
Time-limited balanced truncation for s.-o. systems.
Contents
Syntax
[Mr, Er, Kr, Bur, Cpr, Cvr, Dr, info] = ml_ct_soss_tlbt(M, E, K, Bu, Cp, Cv, D) [Mr, Er, Kr, Bur, Cpr, Cvr, Dr, info] = ml_ct_soss_tlbt(M, E, K, Bu, Cp, Cv, D, opts)
[rom, info] = ml_ct_soss_tlbt(sys) [rom, info] = ml_ct_soss_tlbt(sys, opts)
Description
This function computes the time-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' + Bts*Bts' - Bte*Bte' = 0, A'*Q*E + E'*Q*A + Cts'*Cts - Cte'*Cte = 0,
where Bts, Bte, Cts and Cte are time-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
- 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
|
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
|
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
|
StoreProjection | {0, 1}, used to disable/enable storing of the computed projection matrices W and T default: 0 |
TimeRange | nonnegative vector, time interval such that [min(t), max(t)] is approximated default: [0, 10] |
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
- 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_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