DynamicSystems[SystemConnect] - 2 つ以上の相互接続したシステムオブジェクトの同等のシステム表現を決定する
|
使い方
|
|
SystemConnect(systems, opts)
SystemConnect(systems, ui, uo, yi, yo, opts)
|
|
パラメータ
|
|
systems
|
-
|
System;System オブジェクトのリスト
|
ui
|
-
|
(オプション) Matrix;グローバル入力をサブシステムの入力にマッピングします
|
uo
|
-
|
(オプション) Matrix;サブシステムの出力をサブシステムの入力にマッピングします
|
yi
|
-
|
(オプション) Matrix;グローバル入力をグローバル出力にマッピングします
|
yo
|
-
|
(オプション) Matrix;サブシステムの出力をグローバル出力にマッピングします
|
opts
|
-
|
(オプション) option = value の形式の方程式;SystemConnect コマンドのオプションを指定します
|
|
|
|
|
モデルの説明
|
|
•
|
SystemConnect コマンドにより、サブシステムの集合を表す複数のシステムオブジェクト間の複合的な相互接続を作成して、ブロック図簡単化型のプロシージャにおける同等のシステムオブジェクトを作成することができます。
|
•
|
systems パラメータで指定されるサブシステムへの入力は、同等のシステムに送られる外部入力と、フィードバックされるサブシステムの出力の線形結合として生成されます。外部入力のサブシステム 入力へのマッピングは ui 行列で定義され、サブシステムの出力のサブシステムの入力へのマッピングは uo 行列で定義されます。ui 行列の行数は、サブシステムの入力数(systems 内の各システムの入力数の合計)によって決定され、列数は、同等のシステムに対する外部入力数によって決定されます。同様に、uo 行列の行数はサブシステムの入力数によって決定され、列数はサブシステムの出力数によって決定されます。
|
•
|
同等のシステムの出力は、入力と似た方法で形成されます。外部出力は、同等のシステムを通じて直接送られる外部入力とサブシステムの出力の線形結合です。外部入力の外部出力へのマッピングは yi 行列によって定義され、サブシステムの出力の外部出力へのマッピングは yo 行列によって定義されます。 yi 行列の行数は、同等のシステムの外部出力数によって決定され、列数は、サブシステムの出力数 (systems 内の各システムの出力数の合計)によって決定されます。同様に、yo 行列の行数は同等のシステムの外部出力数 によって決定され、列数は同等のシステムの外部入力数によって決定されます。
|
•
|
結合行列の 1 の項目は単純結合を表します。1 でない項目は接続経路における利得を表します。マイナスのフィードバックは、適切な項目を -1 に設定することにより達成されます。
|
•
|
SystemConnect によるシステムオブジェクトの出力の型は、systems パラメータで指定されるシステムオブジェクトの型により決定されます。異なるシステムオブジェクトの型が渡される場合、出力の型は tf < coeff < zpk < ss < de として定義される優先順位リストに基づいて決定されます。たとえば、System(ss) および de システムが与えられる場合、出力は de システムとなります。
|
|
|
オプション
|
|
•
|
outputtype = tf, coeff, zpk, ss, or de
|
|
返されるシステムオブジェクトのサブタイプを決定します。返される型のデフォルトは、systems パラメータで指定されるシステムオブジェクトの型に基づいて決まります。返される型に関する詳細は、モデルの説明の項目を参照してください。
|
•
|
connection = serial, parallel, append, negativefeedback, positivefeedback, または feedforward
|
|
特定の正準系相互接続のために必要な結合行列を自動的に作成します。このオプションが指定されているときは、行列 ui, uo, yi, および yo は不要です。
|
–
|
serial:サブシステムは順番に結合され、前のサブシステムの出力を次のサブシステムの入力に対応させます。
|
–
|
parallel :サブシステムは並行して結合され、各サブシステムは同じ入力を与えられ、最終的な出力を得るため合計されるサブシステムの出力を伴います。
|
–
|
append :サブシステムは、各サブシステムが外部からの入力を受け取り、出力が直接外部に晒されるように結合されます。
|
–
|
feedforward:入力は与えられたシステムの出力に加算されます。1 つのシステムでの使用についてのみ定義されます。
|
|
|
アプリケーションと例題
|
|
|
定義済み接続
|
|
>
|
with( DynamicSystems ):
|
>
|
sys1 := TransferFunction(1/(s^2 + 5*s + 3)):
|
| (5.1.1) |
>
|
sys2 := TransferFunction(1/(s^3 + 2*s + 4)):
|
| (5.1.2) |
>
|
sys_parallel := SystemConnect(sys1, sys2, connection = parallel):
|
>
|
PrintSystem(sys_parallel);
|
| (5.1.3) |
>
|
sys_serial := SystemConnect(sys1, sys2, connection = serial, outputtype = ss):
|
>
|
PrintSystem(sys_serial);
|
| (5.1.4) |
>
|
sys_feedback := SystemConnect(sys1, connection = negativefeedback):
|
>
|
PrintSystem(sys_feedback);
|
| (5.1.5) |
>
|
sys_append := SystemConnect(sys1, sys2, connection = append):
|
>
|
PrintSystem(sys_append);
|
| (5.1.6) |
|
|
一般的な接続
|
|
|
以下に与えられたシステムの例を検討します。
|
>
|
a1 := RandomMatrix(2,2): b1 := RandomMatrix(2,2): c1 := RandomMatrix(2,2): d1 := RandomMatrix(2,2):
|
>
|
sys1 := StateSpace(a1, b1, c1, d1):
|
>
|
a2 := RandomMatrix(3,3): b2 := RandomMatrix(3,2): c2 := RandomMatrix(2,3): d2 := RandomMatrix(2,2):
|
>
|
sys2 := StateSpace(a2, b2, c2, d2):
|
>
|
Miu := <<1|0|0>,<0|0|1>,<0|0|0>,<0|3|0>>;
|
| (5.2.1) |
>
|
Miy := <<0|0|0|0>,<0|0|0|-1>,<0|1|0|0>,<0|0|0|0>>;
|
| (5.2.2) |
>
|
Mou := <<0|0|0>,<0|0|0>,<0|0|1>>;
|
| (5.2.3) |
>
|
Moy := <<0|0|1|0>,<1|0|0|0>,<0|0|0|1>>;
|
| (5.2.4) |
>
|
sys_general := SystemConnect(sys1, sys2, Miu, Miy, Mou, Moy):
|
>
|
PrintSystem(sys_general);
|
| (5.2.5) |
|
|
|