Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
findR
線形時不変システムの行列を指定する際のプリプロセッサ
呼び出し手順
[R,N [,SVAL,RCND]] = findR(S,Y,U,METH,ALG,JOBD,TOL,PRINTW) [R,N] = findR(S,Y)
パラメータ
- S
ブロックハンケル行列のブロック行の数.
- Y
- U
- METH
使用する手法に関するオプション:
- 1
過去の入力/出力に基づく MOESP 法;
- 2
N4SI15 0 1 1 1000D 法.
デフォルト: METH = 1.
- ALG
入出力データから構築される 結合ブロックハンケル行列の三角分解を計算するアルゴリズムに関するオプション:
- 1
相関行列のコレスキーアルゴリズム;
- 2
高速 QR アルゴリズム;
- 3
標準 QR アルゴリズム.
デフォルト: ALG = 1.
- JOBD
行列BおよびDをMOESP法により計算するかどうかを指定するオプション:
- =
1 : 行列BおよびDをMOESP法により計算します;
- =
2 : 行列BおよびDをMOESP法により計算しません.
デフォルト: JOBD = 2. このパラメータは METH = 2に関連してはいません.
- TOL
許容誤差を含む長さ2のベクトル:
- TOL
(1) は行列のランクを推定する際の許容誤差です. TOL(1) > 0 の場合,TOL(1)に指定した値が 条件数の逆数の下界として使用されます.
デフォルト: TOL(1) = prod(size(matrix))*epsilon_machine ただし, epsilon_machine は相対機械精度です.
- TOL
(2) はシステム次数を推定する際の許容誤差です. TOL(2) >= 0の場合, 推定値の添え字はTOL(2)以上となる最後の特異値を指します. (TOL(2)より小さい特異値はゼロとみなされます.)
TOL(2) = 0の場合, TOL(2)の替わりにS*epsilon_machine*sval(1)が使用されます. ただし,sval(1)は最小特異値です. TOL(2) < 0の場合, 推定値の添え字は,次の要素への指数的な間隔が 最大となる特異値の添え字を指します. デフォルト: TOL(2) = -1.
- PRINTW
警告メッセージの出力に関するスイッチ.
- =
1: 警告メッセージを出力;
- =
0: 警告メッセージを出力しない.
デフォルト: PRINTW = 0.
- R
- N
離散時間実現の次数
- SVAL
特異値 SVAL, 次数の推定に使用されます.
- RCND
ランク決定または最小二乗解に関連する行列の条件数の逆数を含む 長さ2のベクトル.
説明
findR は,コレスキーまたは(高速)QR分解および 部分空間同定法(MOESP または N4SID) 線形時不変システムの行列を推定する際の 入出力データの前処理を行い,システム次数を指定します.
[R,N] = findR(S,Y,U,METH,ALG,JOBD,TOL,PRINTW) は, 入出力データおよび離散時間実現の次数Nから構築された 結合ブロックハンケル行列の 上三角分解 R を返します. モデルの構造は次のようになります:
x(k+1) = Ax(k) + Bu(k) + w(k), k >= 1, y(k) = Cx(k) + Du(k) + e(k).
ベクトル y(k) および u(k) はそれぞれ Y および U のk行目の転置です.
[R,N,SVAL,RCND] = findR(S,Y,U,METH,ALG,JOBD,TOL,PRINTW) は, 次数の推定に使用される 特異値 SVAL も返します. meth = 2 の時に長さ2のベクトルRCNDも返します. このベクトルRCNDには, ランク決定または最小二乗解に関連する条件数の逆数を含みます.
[R,N] = findR(S,Y) は U = [] , 残りの入力引数にはデフォルト値を仮定します.
例
参照
Report an issue | ||
<< findBDK | Identification | findx0BD >> |