MATLAB ヘルプ センター
2 つのモデルの直列接続
sys = series(sys1,sys2)
sys = series(sys1,sys2,out1,in2)
sys = series(sys1,sys2,"name")
sys = series(sys1,sys2) は、次のブロック線図に示すように、sys1 の出力を sys2 の入力に接続することで、2 つの動的システム モデルの直列相互接続を形成します。
sys
sys1
sys2
このコマンドは、直接乗算 sys = sys2*sys1 と同等です。MIMO システムの場合、sys2 の入力の数は sys1 の出力の数と等しくなければなりません。結果として得られる sys には、入力 u および出力 y があります。
sys = sys2*sys1
u
y
例
sys = series(sys1,sys2,out1,in2) は、sys1 の出力のサブセットを sys2 の入力のサブセットに接続することで、次のブロック線図に示すようなより一般的な直列相互接続を形成します。
out1
in2
out1 は、接続する sys1 の出力のインデックスを指定するベクトルです。同様に、in1 は、それらの出力に接続する sys2 の入力のインデックスを指定します。結果として得られる sys には、入力 u と出力 y があります。series は、sys1 の未接続の出力 z1 と sys2 の未接続の入力 v2 をドロップします。
in1
series
z1
v2
sys = series(sys1,sys2,"name") は、モデルの OutputName および InputName プロパティで定義されている信号名を一致させることで、sys1 の出力のサブセットを sys2 の入力のサブセットに接続します。series は、sys1 の未接続の出力と sys2 の未接続の入力をドロップします。
OutputName
InputName
すべて折りたたむ
2 つの SISO システムを作成します。1 つは状態空間モデル、もう 1 つは伝達関数です。
sys1 = rss(3); sys2 = tf(1,[1 1 1]);
2 つのシステムの直列接続を形成します。
sys = series(sys1,sys2); size(sys)
State-space model with 1 outputs, 1 inputs, and 5 states.
伝達関数を状態空間モデルに接続すると、別の状態空間モデルが生成されます。異なるモデル タイプを組み合わせた結果の詳細については、モデル タイプを決定するルールを参照してください。
直列相互接続は、積 sys2*sys1 と等価です。周波数応答を調べてこの等価性を確認します。
sys2*sys1
sysm = sys2*sys1; bodeplot(sys,'-',sysm,'--')
2 つの MIMO システムを直列接続します。sys1 の出力数が sys2 の入力数と等しい場合、すべての sys1 出力をすべての sys2 入力に接続できます。
sys1 = rss(3,2,3); sys2 = rss(3,3,2); sys = series(sys1,sys2);
結果として得られるシステムには、sys1 と同じ数の入力と、sys2 と同じ数の出力が含まれます。
size(sys)
State-space model with 3 outputs, 3 inputs, and 6 states.
接続する信号に一致する名前を割り当てることで、直列接続を形成できます。4 出力 2 入力のシステム sys1 と 2 出力 3 入力のシステム sys2 から始めて、次のブロック線図に示されているような直列接続を形成します。
2 つのシステムの状態空間モデルを作成し、入力信号と出力信号に名前を付けます。
% sys1: 4-output, 2-input sys1 = rss(4,4,2); sys1.InputName = ["in1a","in1b"]; sys1.OutputName = ["out1a","out1b","out1c","out1d"]; % sys2: 2-output, 3-input sys2 = rss(3,2,3); sys2.InputName = ["in2a","in2b","in2c"]; sys2.OutputName = ["out2a","out2b"];
このブロック線図に示されている相互接続では、sys1 の out1a と out1c がそれぞれ in2b と in2c に接続されています。接続する信号の名前が一致するように信号名を変更します。
out1a
out1c
in2b
in2c
sys1.OutputName = ["ua","out1b","ub","out1d"]; sys2.InputName = ["in2a","ua","ub"];
name フラグを指定して series を呼び出して接続を形成します。
name
sys = series(sys1,sys2,"name");
sys の次元、入力、および出力を調べて、接続がブロック線図のものと一致していることを確認します。
State-space model with 2 outputs, 2 inputs, and 7 states.
sys.InputName
ans = 2×1 cell {'in1a'} {'in1b'}
sys.OutputName
ans = 2×1 cell {'out2a'} {'out2b'}
期待どおり、結果として得られた sys には 2 つの出力と 2 つの入力があり、それぞれ sys2 の出力と sys1 の入力に対応しています。
sys は、sys2 の未接続の入力と sys1 の未接続の出力をドロップします。すべての入力と出力を保持してこの相互接続を形成するには、代わりにconnectを使用して、結果として得られるシステムで保持するすべての入力と出力を指定します。
connect
sysc = connect(sys1,sys2,["in1a","in1b","in2a"],["out2a","out2b","out1b","out1d"]); size(sysc)
State-space model with 4 outputs, 3 inputs, and 7 states.
sysc.InputName
ans = 3×1 cell {'in1a'} {'in1b'} {'in2a'}
sysc.OutputName
ans = 4×1 cell {'out2a'} {'out2b'} {'out1b'} {'out1d'}
接続する信号のインデックスを指定することで、モデルの入力と出力のサブセットを使用して直列相互接続を形成できます。4 出力 2 入力のシステム sys1 と 2 出力 3 入力のシステム sys2 から始めて、次のブロック線図に示されているような直列接続を形成します。
2 つのシステムの状態空間モデルを作成します。
% sys1: 4-output, 2-input sys1 = rss(4,4,2); % sys2: 2-output, 3-input sys2 = rss(3,2,3);
直列接続を形成するには、sys1 の出力と、対応する接続先の sys2 の入力を指定するベクトルを作成します。ブロック線図では、sys1 の 1 番目と 3 番目の出力は、それぞれ sys2 の 2 番目と 3 番目の入力に接続されています。したがって、インデックスを次のように指定します。
out1 = [1 3]; % out1a and out1c in2 = [2 3]; % in2b and in2c
接続を形成し、出力のサイズを調べます。
sys = series(sys1,sys2,out1,in2); size(sys)
期待どおり、結果として得られた sys には 2 つの出力と 2 つの入力があり、それぞれ sys2 の出力と sys1 の入力に対応しています。sys は、sys2 の未接続の入力と sys1 の未接続の出力をドロップします。すべての入力と出力を保持してこの相互接続を形成するには、connectを使用します。
接続するシステム。SISO または MIMO 動的システム モデル、制御設計ブロック、または動的システム モデルの配列として指定します。接続できるモデルとブロックには次のものがあります。
tf、zpk、ss、frd、pid モデル オブジェクトなど、任意の数値の LTI モデル オブジェクト。
tf
zpk
ss
frd
pid
genss、genfrd、uss (Robust Control Toolbox)、ufrd (Robust Control Toolbox) モデルなど、一般化された、あるいは不確かさをもつ LTI モデル。
genss
genfrd
uss
ufrd
tunablePID、tunableSS、tunableGain、tunableTF、tunableSurface、ultidyn (Robust Control Toolbox)、umargin (Robust Control Toolbox) ブロックなど、調整可能な、あるいは不確かさをもつブロック線図の要素を表す制御設計ブロック。
tunablePID
tunableSS
tunableGain
tunableTF
tunableSurface
ultidyn
umargin
ブロック線図内でシステム応答を抽出する位置を表す AnalysisPoint ブロック。
AnalysisPoint
sumblk を使用して作成した加算結合。
sumblk
idtf (System Identification Toolbox)、idss (System Identification Toolbox)、idproc (System Identification Toolbox) モデルなどの同定された LTI モデル。
idtf
idss
idproc
sparss または mechss モデル オブジェクトで表されたスパース モデル。
sparss
mechss
ltvss または lpvss モデル オブジェクトで表された時変モデルまたはパラメーター変動モデル。
ltvss
lpvss
sys1 と sys2 は両方とも連続システムであるか、または両方とも同じサンプル時間をもつ離散システムでなければなりません。
接続する sys1 の出力。インデックスのベクトルとして指定します。たとえば、sys1 の 2 番目、4 番目、5 番目の出力を sys2 の 3 つの入力に接続する場合は、out1 = [2,4,5] を設定します。
out1 = [2,4,5]
接続する sys2 の入力。インデックスのベクトルとして指定します。たとえば、sys1 の 3 つの出力を sys2 の 1 番目、3 番目、4 番目の入力に接続する場合は、in2 = [1,3,4] を設定します。
in2 = [1,3,4]
相互接続されたシステム。入力が sys1 の入力であり、出力が sys2 の出力である動的システム モデルとして返されます。動的システム モデルのタイプは、接続されたシステム sys1 および sys2 のタイプによって異なります。以下に例を示します。
接続されたシステムの 1 つが ss モデルであり、もう一方が frd モデル以外の数値 LTI モデルである場合、sys は ss モデルになります。
接続されたシステムの 1 つが frd モデルであり、もう一方が数値 LTI モデルである場合、sys は frd モデルになります。両方のシステムが frd モデルである場合、周波数ベクトルは一致しなければなりません。
接続されたシステムの 1 つが同定された LTI モデルである場合、sys も同定されたモデルになります。
接続されたシステムの 1 つが genss や uss モデルなどの一般化 LTI モデルである場合、sys も一般化 LTI モデルになります。
接続されたシステムの 1 つがスパース モデルである場合、sys もスパース モデルになります。
sys1 と sys2 がモデル配列である場合、sys は同じサイズのモデル配列になります。sys 内の各エントリは、入力配列の対応するエントリを接続することで形成されるモデルです。
R2006a より前に導入
feedback | connect | parallel | append
feedback
parallel
append
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ