Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
ssrand
乱数生成器
呼び出し手順
sl=ssrand(nout,nin,nstate) [sl,U]=ssrand(nout,nin,nstate,flag)
引数
- nout
 整数 (出力の数)
- nin
 整数 (入力の数)
- nstate
 整数 (状態空間の次元)
- flag
 1文字の文字列および 1つまたは複数の整数からなるリスト
- sl
 リスト (
syslinリスト)- U
 正方
(nstate x nstate)非特異行列
説明
sl=ssrand(nout,nin,nstate) は,
            
            syslinリストで定義され,
            
            nstate個の状態変数を有する
            
            大きさ [nout,nint]の
            
            厳密にプロパー(D=0)でランダムな状態空間システム
            
            を返します.
[sl,U]=ssrand(nout,nin,nstate,flag) は
            
            flagで指定したプロパティを有する線形システムを
            
            返します.flagは以下のどれかとすることができます:
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)
Sysの完全な説明は,
            
            (SCIDIR/macros/utilにある)
            
            ssrand関数の
            
            コード内に記述されています.
            
            例えば,
            
            flag=list('co',dim_cont_subs) を指定すると,
            
            可制御でないシステムが返され,
            
            dim_cont_subs はSysの
            
            可制御部分空間の次元となります.
            
            文字列'co','uo','ncno','st','dt','on','ui' は
            
            "可制御(controllable)", "不可観測(unobservable)", 
            
            "不可制御-不可観測(non-controllable-non-observable)",
            
            "可安定(stabilizable)","可検出(detectable)",
            
            "出力ゼロ化(output-nulling)","未知入力(unknown-input)"
            
            を意味します.
例
//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
参照
- syslin — 線形システムを定義する
 
| Report an issue | ||
| << pen2ea | signalprocessing | sysconv >> |