Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2023.1.0 - 日本語


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_subsSysの 可制御部分空間の次元となります. 文字列'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
<< ssprint Linear System Representation 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:
Mon May 22 12:43:10 CEST 2023