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

Please note that the recommended version of Scilab is 2024.1.0. This page might be outdated.
See the recommended documentation of this function

ssrand

random system generator

Syntax

```sl=ssrand(nout,nin,nstate)
[sl,U]=ssrand(nout,nin,nstate,flag)```

Arguments

nout

integer (number of output)

nin

integer (number of input)

nstate

integer (dimension of state-space)

flag

list made of one character string and one or several integers

sl

list (`syslin` list)

U

square `(nstate x nstate)` nonsingular matrix

Description

`sl=ssrand(nout,nin,nstate)` returns a random strictly proper (`D=0`) state-space system of size `[nout,nint]` represented by a `syslin` list and with `nstate` state variables.

`[sl,U]=ssrand(nout,nin,nstate,flag)` returns a test linear system with given properties specified by `flag`. `flag` can be one of the following:

```flag=list('co',dim_cont_subs)
flag=list('uo',dim_unobs_subs)
flag=list('ncno',dim_cno,dim_ncno,dim_co,dim_nco)
flag=list('st',dim_cont_subs,dim_stab_subs,dim_stab0)
flag=list('dt',dim_inst_unob,dim_instb0,dim_unobs)
flag=list('on',nr,ng,ng0,nv,rk)
flag=list('ui',nw,nwu,nwui,nwuis,rk)```

The complete description of the `Sys` is given in the code of the `ssrand` function (in `SCI/modules/cacsd/macros/`). For example with `flag=list('co',dim_cont_subs)` a non-controllable system is return and `dim_cont_subs` is the dimension of the controllable subspace of `Sys`. The character strings `'co','uo','ncno','st','dt','on','ui'` stand for "controllable", "unobservable", "non-controllable-non-observable", "stabilizable","detectable","output-nulling","unknown-input".

Examples

```//flag=list('st',dim_cont_subs,dim_stab_subs,dim_stab0)
//dim_cont_subs<=dim_stab_subs<=dim_stab0
//pair (A,B) U-similar to:
//    [*,*,*,*;     [*;
//    [0,s,*,*;     [0;
//A=  [0,0,i,*;   B=[0;
//    [0,0,0,u]     [0]
//
// (A11,B1) controllable  s=stable matrix i=neutral matrix u=unstable matrix
[Sl,U]=ssrand(2,3,8,list('st',2,5,5));
w=ss2ss(Sl,inv(U)); //undo the random change of basis => form as above
[n,nc,u,sl]=st_ility(Sl);n,nc```

See also

• syslin — linear system definition
 Report an issue << pen2ea Signal processing sysconv >>

 Copyright (c) 2022-2024 (Dassault Systèmes)Copyright (c) 2017-2022 (ESI Group)Copyright (c) 2011-2017 (Scilab Enterprises)Copyright (c) 1989-2012 (INRIA)Copyright (c) 1989-2007 (ENPC)with contributors Last updated:Thu Feb 14 14:57:13 CET 2019