最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

getSensitivity

制御システムの一般化モデルからの感度関数

説明

S = getSensitivity(T,location) は、制御システムの一般化モデルの指定された位置の感度関数を返します。

S = getSensitivity(T,location,opening) は、感度関数の計算の追加のループ開始点を指定します。開始点を使用して、たとえば、外側のループが開いた状態で内側のループの感度関数を計算します。

openinglocation が同じ点を指す場合、その点の信号を測定してからループが開始されます。

すべて折りたたむ

解析ポイント X でマークされるプラント入力での感度を計算します。

数値 LTI プラント モデル G、調整可能なコントローラー C、および AnalysisPoint ブロック X を指定し、接続することで、システムのモデルを作成します。AnalysisPoint ブロックを使用して、感度を評価する位置 (この例ではプラント入力) をマークします。

G = tf([1],[1 5]);
C = tunablePID('C','p');
C.Kp.Value = 3;
X = AnalysisPoint('X');
T = feedback(G*X*C,1);

T は、r から y への制御システムの閉ループ応答を表す genss モデルです。このモデルには、解析ポイントを特定する AnalysisPoint ブロック X が含まれています。

X での感度 S を計算します。

S = getSensitivity(T,'X');
tf(S)
ans =
 
  From input "X" to output "X":
  s + 5
  -----
  s + 8
 
Continuous-time transfer function.

外側のループが開いた状態で G2 の出力における内側のループの感度を計算します。

数値プラント モデル、調整可能なコントローラー、および AnalysisPoint ブロックの指定と接続を行って、システムのモデルを作成します。G1G2 はプラント モデル、C1C2 は調整可能なコントローラー、X1X2 はループ開始の可能な位置をマークする 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');
T = feedback(G1*feedback(G2*C2,X2)*C1,X1);

外側のループが X1 で開いた状態で、感度 SX2 で計算します。

S = getSensitivity(T,'X2','X1');
tf(S)
ans =
 
  From input "X2" to output "X2":
  s^2 + 0.2 s + 10
  ----------------
  s^2 + 1.2 s + 12
 
Continuous-time transfer function.

入力引数

すべて折りたたむ

一般化状態空間モデル (genss) として指定する、制御システムのモデル。

感度解析の実行またはループの開始が可能な位置は、TAnalysisPoint ブロックでマークされます。関数 getPoints(T) を使用して、このような場所のリストを取得します。

感度関数を計算する位置。文字ベクトルまたは文字ベクトルの cell 配列として指定されます。感度関数を複数の位置で抽出するには、文字ベクトルの cell 配列を使用します。

指定した各位置は T の解析ポイントと一致しなければなりません。解析ポイントは AnalysisPoint ブロックを使用してマークされます。T 内の利用可能な解析ポイントのリストを取得するには、getPoints(T) を使用します。

例: 'u' または、次を使用します。 {'u','y'}

感度関数の計算に使用される追加のループ開始点。文字ベクトルまたは文字ベクトルの cell 配列として指定します。ループを複数の位置で開始するには、文字ベクトルの cell 配列を使用します。

指定した各開始点は T の解析ポイントと一致しなければなりません。解析ポイントは AnalysisPoint ブロックを使用してマークされます。T 内の利用可能な解析ポイントのリストを取得するには、getPoints(T) を使用します。

開始点を使用して、たとえば、外側のループが開いた状態で内側のループの感度関数を計算します。

openinglocation が同じ点を指す場合、その点の信号を測定してからループが開始されます。

例: 'y_outer' または、次を使用します。 {'y_outer','y_outer2'}

出力引数

すべて折りたたむ

location で測定された、制御システム T感度関数。一般化状態空間モデル (genss) として返されます。

  • location で単一の解析ポイントを指定する場合、S は SISO genss モデルになります。

  • location がベクトル信号であるか、または複数の解析ポイントを指定する場合、S は MIMO genss モデルになります。

詳細

すべて折りたたむ

感度関数

"感度関数" は単純に "感度" とも呼ばれ、加法的な外乱に対する信号の感度の度合いを測るものです。開ループ ゲインが 1 より大きくなる周波数帯域では、フィードバックにより感度が下がります。

以下のモデルを考えます。

u での感度 Su は、du から u への伝達関数として定義されます。

u=duKGu(I+KG)u=duu=(I+KG)1Sudu.

ここで、I は KG と同じサイズの単位行列です。

複数の位置、たとえば uy での感度は、外乱から感度測定への MIMO 伝達関数として定義されます。

S=[SduuSdyuSduySdyy].

R2014a で導入