connect
動的システムのブロック線図相互接続
構文
sysc = connect(sys1,...,sysN,inputs,outputs)
sysc = connect(sys1,...,sysN,inputs,outputs,APs)
sysc = connect(blksys,connections,inputs,outputs)
sysc = connect(___,opts)
説明
は、信号名に基づいて、ブロック線図要素 sysc
= connect(sys1,...,sysN
,inputs
,outputs
)sys1,...,sysN
を接続します。ブロック線図要素 sys1,...,sysN
は、動的システム モデルです。これらのモデルには、sumblk
を使用して作成される加算結合を含めることができます。connect
コマンドは、sys1,...,sysN
の InputName
と OutputName
プロパティで指定される入力信号と出力信号を照合することにより、ブロック線図の要素を相互に接続します。統合モデル sysc
は動的システム モデルであり、inputs
と outputs
によりそれぞれ指定される入力と出力をもちます。
は、sysc
= connect(sys1,...,sysN
,inputs
,outputs
,APs
)APs
で指定された各信号箇所に AnalysisPoint
を挿入します。解析ポイントは、統合モデル内の内部信号である対象箇所をマークするために使用します。たとえば、ループ伝達関数を抽出する位置や安定余裕を測定する位置が対象箇所となります。
は、インデックスベースの相互接続を使用して、統合された、未接続のモデル sysc
= connect(blksys
,connections
,inputs
,outputs
)blksys
から sysc
を作成します。行列 connections
は、blksys
の出力と入力がどのように相互接続されるかを指定します。インデックスベースの相互接続では、inputs
と outputs
は blksys
のどの入力と出力が sysc
の外部入力と外部出力になるかを指定するインデックス ベクトルです。この構文は、接続するすべてのモデルのあらゆる入力と出力に名前を割り当てるとは限らない場合に便利です。ただし、通常は、名前を付けた信号を追跡する方が簡単です。
は追加オプションを使用して、相互接続されているモデルを作成します。sysc
= connect(___,opts
)opts
は、上記のどの構文でも入力引数とともに使用できます。
入力引数
|
ブロック線図の要素に対応する動的システム モデル。たとえば、ブロック線図の要素には、プラント ダイナミクスを表す 1 つ以上の |
|
名前ベースの相互接続において、統合モデル |
|
名前ベースの相互接続において、統合モデル |
|
統合モデル内の対象箇所 (内部信号)。 |
|
未接続の統合モデル。 blksys = append(C,G,S) |
|
ブロック線図の接続と加算結合を指定する行列。 [3 2 0 0] これは、 [7 2 -15 6] これは、 特定の入力または出力に対する接続を指定しない場合、 |
|
相互接続の追加オプション。 |
出力引数
|
状態空間モデルまたは周波数応答モデルとして返される、相互接続されたシステム。返されるモデルのタイプは入力モデルによって異なります。以下に例を示します。
既定では、 opt = connectOptions('Simplify',false); sysc = connect(sys1,sys2,sys3,'r','y',opt); |
例
SISO フィードバック ループ
以下のような r
から y
へのブロック線図の統合モデルを作成します。
C
と G
を作成し、入力と出力の名前を指定します。
C = pid(2,1); C.u = 'e'; C.y = 'u'; G = zpk([],[-1,-1],1); G.u = 'u'; G.y = 'y';
表記法 C.u
および C.y
は、それぞれ C.InputName
および C.OutputName
と同等の省略表現です。たとえば、C.u = 'e'
と入力するのは C.InputName = 'e'
を入力するのと同じです。このコマンドは、C
の InputName
プロパティを値 'e'
に設定します。
加算結合を作成します。
Sum = sumblk('e = r - y');
C
、G
、および加算結合を結合し、r
から y
への統合モデルを作成します。
T = connect(G,C,Sum,'r','y');
connect
は、名前の一致する入力と出力を自動的に連結します。
MIMO フィードバック ループ
上記の例の制御システムを作成します。ここで、G
と C
は両方とも 2 入力 2 出力のモデルです。
C = [pid(2,1),0;0,pid(5,6)]; C.InputName = 'e'; C.OutputName = 'u'; G = ss(-1,[1,2],[1;-1],0); G.InputName = 'u'; G.OutputName = 'y';
ベクトル値の信号に単一の名前を指定すると、自動的に信号名のベクトル拡張が実行されます。たとえば、C
への入力名を検討してみましょう。
C.InputName
ans = 'e(1)' 'e(2)'
2 入力 2 出力の加算結合を作成します。
Sum = sumblk('e = r-y',2);
また、sumblk
は信号名のベクトル拡張も実行します。
モデルを相互接続して閉ループ システムを取得します。
T = connect(G,C,Sum,'r','y');
ブロック線図要素 G
、C
、および Sum
はすべて 2 入力 2 出力のモデルです。そのため、connect
は同じベクトル拡張を実行します。connect
は、2 入力の信号 'r'
と 'y'
のすべての項目をそれぞれ T
への入力と出力として選択します。たとえば、T
への入力名を検討してみましょう。
T.InputName
ans = 'r(1)' 'r(2)'
connect
によって挿入された解析ポイントをもつフィードバック ループ
次のブロック線図の r から y までのモデルを作成します。内部の位置 u に解析ポイントを挿入します。
C
と G
を作成し、入力と出力の名前を指定します。
C = pid(2,1); C.InputName = 'e'; C.OutputName = 'u'; G = zpk([],[-1,-1],1); G.InputName = 'u'; G.OutputName = 'y';
加算結合を作成します。
Sum = sumblk('e = r - y');
C
、G
、および加算結合を組み合わせて、解析ポイントを u にもつ統合モデルを作成します。
T = connect(G,C,Sum,'r','y','u')
Generalized continuous-time state-space model with 1 outputs, 1 inputs, 3 states, and the following blocks: AnalysisPoints_: Analysis point, 1 channels, 1 occurrences. Model Properties Type "ss(T)" to see the current value and "T.Blocks" to interact with the blocks.
その結果である T
は genss
モデルです。connect
コマンドは AnalysisPoint
ブロック AnalysisPoints_
を作成し、それを T
に挿入します。AnalysisPoints_
にある解析ポイント チャネルの名前を確認するには、getPoints
を使用します。
getPoints(T)
ans = 1x1 cell array
{'u'}
解析ポイント チャネルの名前は 'u'
です。この解析ポイントは、システム応答の抽出に使用できます。たとえば、次のコマンドでは、u に加えられた外乱に対する u での開ループ伝達と y での閉ループ応答が抽出されます。
L = getLoopTransfer(T,'u',-1); Tuy = getIOTransfer(T,'u','y');
T
は次のブロック線図と同等です。ここで、AP_u は、チャネル名 u をもつ AnalysisPoint
ブロック AnalysisPoints_
を指しています。
インデックスベースの相互接続
インデックスベースの相互接続を使用して、次のブロック線図のような r
から y
への統合モデルを作成します。
C
、G
および未接続の統合モデル blksys
を作成します。
C = pid(2,1); G = zpk([],[-1,-1],1); blksys = append(C,G);
blksys
の入力 u(1),u(2)
は、それぞれ C
と G
の入力に対応します。blksys
の出力 w(1),w(2)
は、それぞれ C
と G
の出力に対応します。
blksys
のどの出力が blksys
のどの入力に接続されるかを指定する行列 connections
を作成します。
connections = [2 1; 1 -2];
最初の行は w(1)
が u(2)
に接続されることを示します。つまり、C
の出力が G
の入力に接続されるということです。2 行目は -w(2)
が u(1)
に接続されることを示します。つまり、G
の負の出力が C
の入力に接続されます。
r
から y
までの、接続された統合モデルを作成します。
T = connect(blksys,connections,1,2)
最後の 2 つの引数は、blksys
のインデックスによって外部入力と外部出力を指定しています。引数 1
は、外部入力が u(1)
に接続することを指定します。最後の引数 2
は、外部出力が w(2)
から接続されるように指定します。
バージョン履歴
R2006a より前に導入