getCompSensitivity
制御システムの一般化モデルからの相補感度関数
説明
例
任意の位置での相補感度関数
相補感度を次の図の制御システムのプラント出力 X
で計算します。
数値 LTI プラント モデル G
、調整可能なコントローラー C
、および AnalysisPoint
ブロック X
を指定し、接続することで、システムのモデルを作成します。AnalysisPoint
ブロックを使用して、相補感度 (この例ではプラント出力) を評価する位置をマークします。
G = tf([1],[1 5]); C = tunablePID('C','p'); C.Kp.Value = 3; X = AnalysisPoint('X'); CL = feedback(G*C,X);
CL
は、r から y への制御システムの閉ループ応答を表す genss
モデルです。モデルの制御設計ブロックを調べます。
CL.Blocks
ans = struct with fields:
C: [1x1 tunablePID]
X: [1x1 AnalysisPoint]
このモデルのブロックには、解析ポイントの位置を特定する AnalysisPoint
ブロック X
が含まれます。
相補感度 T を X
で計算します。
T = getCompSensitivity(CL,'X')
Generalized continuous-time state-space model with 1 outputs, 1 inputs, 1 states, and the following blocks: C: Tunable PID controller, 1 occurrences. X: Analysis point, 1 channels, 1 occurrences. Type "ss(T)" to see the current value and "T.Blocks" to interact with the blocks.
getCompSensitivity
は CL
の制御設計ブロックを保持し、genss
モデルを返します。数値モデルを取得するために、調整可能なブロックの現在の値を使用して、T
を伝達関数形式に変換できます。
Tnum = tf(T)
Tnum = From input "X" to output "X": -3 ----- s + 8 Continuous-time transfer function.
相補感度関数の計算用の追加のループ開始点の指定
次の図のマルチループ システムで、外側のループが開いた状態で G2
の出力において内側のループの感度を計算します。
数値プラント モデル、調整可能なコントローラー、および AnalysisPoint
ブロックの指定と接続を行って、システムのモデルを作成します。G1
と G2
はプラント モデル、C1
と C2
は調整可能なコントローラー、X1
と X2
はループ開始の可能な位置をマークする AnalysisPoint
ブロックです。
G1 = tf(10,[1 10]); G2 = tf([1 2],[1 0.2 10]); C1 = tunablePID('C','pi'); C2 = tunableGain('G',1); X1 = AnalysisPoint('X1'); X2 = AnalysisPoint('X2'); CL = feedback(G1*feedback(G2*C2,X2)*C1,X1);
外側のループが X1
で開いた状態で、X2
における相補感度 を計算します。X1
を 3 番目の入力引数として指定すると、getCompSensitivity
によってその位置でループが開かれます。
T = getCompSensitivity(CL,'X2','X1'); tf(T)
ans = From input "X2" to output "X2": -s - 2 ---------------- s^2 + 1.2 s + 12 Continuous-time transfer function.
入力引数
CL
— 制御システムのモデル
一般化状態空間モデル
一般化状態空間モデル (genss
) として指定する、制御システムのモデル。
感度解析の実行またはループの開始が可能な位置は、CL
の AnalysisPoint
ブロックでマークされます。getPoints(CL)
を使用して、このような場所のリストを取得します。
opening
— 追加のループ開始点
文字ベクトル | 文字ベクトルの cell 配列
相補感度関数の計算に使用される追加のループ開始点。文字ベクトルまたは文字ベクトルの cell 配列として指定します。ループを複数の位置で開始するには、文字ベクトルの cell 配列を使用します。
指定した各開始点は CL
の解析ポイントと一致しなければなりません。解析ポイントは AnalysisPoint
ブロックを使用してマークされます。CL
内の利用可能な解析ポイントのリストを取得するには、getPoints(CL)
を使用します。
開始点を使用して、たとえば、外側のループが開いた状態で内側のループの相補感度関数を計算します。
opening
と location
が同じ点を指す場合、その点の外乱信号を加えてからループが開始されます。
例: 'y_outer'
または {'y_outer','y_outer2'}
出力引数
詳細
相補感度
"相補感度関数" T は、ある点では、指定された位置で測定されたフィードバック ループの周囲の閉ループ伝達関数です。これは、同じ点で、開ループ伝達関数 L および感度関数 S と次のように関係します。
getLoopTransfer
と getSensitivity
を使用して、L と S を計算します。
以下のモデルを考えます。
y
での相補感度 T は、dy
から y
への伝達関数として定義されます。
感度関数とは対照的に、測定値 y
の "後に" 外乱 dy
が追加されます。
ここで、I は GK と同じサイズの単位行列です。y
での相補感度達関数は、r
から y
への閉ループ伝達関数に -1
を掛け合わせたものと同じです。
複数の位置、たとえば u
と y
での相補感度は、外乱から測定値への MIMO 伝達関数として定義されます。
バージョン履歴
R2014a で導入
参考
getPoints
| AnalysisPoint
| genss
| getLoopTransfer
| systune
| getIOTransfer
(Simulink Control Design) | getSensitivity
| getValue
| getCompSensitivity
(Simulink Control Design)
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)