Control System Toolbox関数リファレンス | ![]() ![]() |
feedback
表示
sys = feedback(sys1,sys2) sys = feedback(sys1,sys2,sign) sys = feedback(sys1,sys2,feedin,feedout,sign)
詳細
sys = feedback(sys1,sys2)
は、負のフィードバック相互結合のLTIモデルsys
sを出力します。
閉ループモデルsys
は、入力ベクトルとして、出力ベクトルとして
をもっています。LTIモデル
sys1
およびsys2
は、共に連続系か、または、同じサンプル時間をもつ離散系でなければなりません。結果として得られるモデルタイプは、優先ルールに従って決定されます(マニュアルの"設定ルール "を参照)。
sys = feedback(sys1,sys2,+1)
を使用します。 デフォルトでは、feedback(sys1,sys2)
は、負のフィードバックを仮定しており、feedback(sys1,sys2,-1)
と等価です。
sys = feedback(sys1,sys2,feedin,feedout)
は、より一般的なフィードバックループに対する閉ループモデルsys
を計算します。
ベクトルfeedin
は、sys1
の入力ベクトル
に対するインデックスを含み、どの入力がフィードバックループに関係しているかを設定します。同様に、
feedout
は、
sys1
のどの出力
がフィードバックに使用されるかを設定します。結果として得られるLTIモデル
sys
は、sys1
と同じ入力および出力をもっています(それらの順序は保持されます)。前と同様、デフォルトでは負のフィードバックが適用され、正のフィードバックを適用するには、
sys = feedback(sys1,sys2,feedin,feedout,+1)
より複雑なフィードバック構造については、append
とconnect
を使用してください。
注意事項
静的ゲインを正則行列として設定することができます。たとえば、つぎのような場合です。
sys = feedback(sys1,sys2)
ただし、sys1
とsys2
の2つの引数の少なくとも1つは、LTIオブジェクトでなければなりません。2つの静的ゲイン
k1
、k2
を含むフィードバックループの場合は、つぎのようにして行ないます。
sys = feedback(tf(k1),k2)
例題
G = tf([2 5 1],[1 2 3],'inputname','torque',... 'outputname','velocity'); H = zpk(-2,-10,5) Cloop = feedback(G,H)
Zero/pole/gain from input "torque" to output "velocity": 0.18182 (s+10) (s+2.281) (s+0.2192) ----------------------------------- (s+3.419) (s^2 + 1.763s + 1.064)
結果は、優先ルールから期待されるとおり零点-極-ゲインモデルになります。Cloop
は、G
から入力名と出力名を受け継いでいることに注意してください。
5入力、4出力の状態空間プラントP
と2入力、3出力の状態空間フィードバックコントローラK
を考えます。プラントの出力1、3、および4をコントローラ入力に結合し、コントローラ出力をプラントの入力4および2に結合するためには、つぎのステートメントを使います。
feedin = [4 2]; feedout = [1 3 4]; Cloop = feedback(P,K,feedin,feedout)
Cloop = feedback(G,1) % 左図 Cloop = feedback(1,G) % 右図
制限
フィードバック結合は代数ループを含むことができません。および
が、
sys1
およびsys2
のフィードスルー行列の場合、このことは、つぎの条件と等価です。
参考
series
直列結合
parallel
並列結合
connect
ブロック線図の内部結合から状態空間モデルを抽出
![]() |
evalfr | filt | ![]() |