# getLFTModel

Decompose generalized LTI model

## Syntax

``[H,B,S] = getLFTModel(M)``

## Description

example

````[H,B,S] = getLFTModel(M)` decomposes the Generalized matrix or Generalized LTI model M into the components `H`, `B`, and `S`. The `H`, `B`, and `S` components relate to `M` as shown in this figure. For more information, see Internal Structure of Generalized Models.You can recombine `H`, `B`, and `S` into `M` by using the `lft` function.M = lft(H,blkdiag(B{:})-S);```

## Examples

collapse all

Create a `genss` model.

```G = zpk([],[-1 -1],1); C = tunablePID("C",'PID'); a = realp("a",10); F = tf(a,[1 a]); T = feedback(G*C,1)*F;```

Decompose the generalized LTI model.

`[H,B,S] = getLFTModel(T)`
```H = A = x1 x2 x3 x1 -1 1 0 x2 0 -1 0 x3 0 0 0 B = u1 u2 u3 u4 x1 0 0 0 0 x2 0 1 0 0 x3 1 0 -1 0 C = x1 x2 x3 y1 1 0 0 y2 -1 0 0 y3 0 0 1 y4 0 0 1 D = u1 u2 u3 u4 y1 0 0 0 0 y2 0 0 0 1 y3 0 0 0 0 y4 0 0 0 0 Continuous-time state-space model. ```
```B=3×1 cell array {1x1 tunablePID} {1x1 realp } {1x1 realp } ```
```S = 3×3 0 0 0 0 0 0 0 0 0 ```

## Input Arguments

collapse all

Generalized LTI model or matrix, specified as a `genss` object, `genfrd` object, or a `genmat` object. For more information on generalized LTI models, see Generalized and Uncertain LTI Models. For more information on generalized matrices, see Generalized Matrices.

## Output Arguments

collapse all

Nonparametric component of the generalized model, returned as a matrix. The component `H` is a numeric matrix, `ss` model, or `frd` model that describes the fixed portion of `M` and the interconnections between the blocks of `B`.

Parametric component of the generalized model, returned as a cell array. Each cell of the cell array `B` contains a Control Design Block of `M`, such as `realp` or `tunableSS` block.

Offset values, returned as a matrix. This value is a block diagonal matrix of numeric offsets, where each row contains the offset for the block in the corresponding cell of `B`. The offsets ensure well-defined interconnection when the current (nominal) value of `M` is finite.

## Version History

Introduced in R2011a