Change language to:
English - Français - 日本語 - Русский

Ajuda do Scilab >> CACSD > Linear System Representation > sysdiag

# sysdiag

conexão de sistemas diagonais em blocos (obsolete)

### Seqüência de Chamamento

`r = sysdiag(a1,a2,...,an)`

### Parâmetros

ai

constant, boolean, polynomial or rational matrices of any size.

subsistemas (i.e. ganhos, ou sistema linear em forma de espaço de estados ou de transferência)

r

a matrix with a1, a2, a3, ... on the diagonal

### Descrição

 `sysdiag()` is obsolete. Please use `blockdiag()` instead.

Retorna um sistema diagonal em blocos feito de subsistemas postos na diagonal principal.

Given the inputs `A`, `B` and `C`, the output will have these matrices arranged on the diagonal:

.

 If all the input matrices are square, the output is known as a block diagonal matrix.
 Usado em particular para interconexões de sistemas.

For boolean matrices `sysdiag()` always returns a zero one matrix in the corresponding block ("true" values are replaced by 1 and "false" value by 0).

### Exemplos

```s = poly(0,'s')
sysdiag(rand(2,2),1/(s+1),[1/(s-1);1/((s-2)*(s-3))])
sysdiag(tf2ss(1/s),1/(s+1),[1/(s-1);1/((s-2)*(s-3))])```
```// a matrix of doubles:
A = [1 0; 0 1], B=[3 4 5; 6 7 8], C=7
D = sysdiag(A,B,C)
//
sysdiag([%t %f; %f %t], eye(2,2), ones(3,3))
// a polynomial matrix:
s = %s;
sysdiag([s 4*s; 4 s^4], [1 s^2 s+2; 3*s 2 s^2-1])
// a rational matrix:
sysdiag([1/s 2*s/(4*s+3)], [s; 4; 1/(s^2+2*s+1)])
// a block diagonal sparse matrix:
S = sysdiag([1 2; 3 4], [5 6; 7 8], [9 10; 11 12], [13 14; 15 16])
S = sparse(S)```

### Ver Também

• diag — inclusão ou extração diagonal
• bdiag — diagonalização em blocos, autovetores generalizados
• repmat — Replicate and tile an array
• brackets — Concatenation. Recipients of an assignment. Results of a function
• feedback — feedback operation

### Histórico

 Version Description 6.1.0 sysdiag() is declared obsolete.
 Report an issue << sysconv Linear System Representation syslin >>