ドキュメンテーション センター

  • 評価版
  • 製品アップデート

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

getCompSensitivity

slLinearizer インターフェイスを使用して指定された点での相補感度関数

構文

  • sys = getCompSensitivity(sllin,pt)
  • sys = getCompSensitivity(sllin,pt,temp_opening)
  • sys = getCompSensitivity(___,mdl_index)

説明

sys = getCompSensitivity(sllin,pt) は、slLinearizer インターフェイス sllin に関連付けられたモデルの指定された解析ポイントにおける相補感度関数を返します。

ソフトウェアは、sys を計算する際に、sllin に対して指定されたすべての永続的な開始点を適用します。sllin.Parameterssllin.OperatingPoints、またはその両方を設定している場合、getCompSensitivity は複数の線形化を実行し、相補感度関数の配列を返します。

sys = getCompSensitivity(sllin,pt,temp_opening) は、temp_opening で指定された点において、追加の一時的な開始点を考慮します。開始点を使用して、たとえば、外側のループが開いた状態で内側のループの相補感度関数を計算します。

sys = getCompSensitivity(___,mdl_index) は、バッチ線形化の結果のサブセットを返します。上記の構文の任意の入力引数に加えて、mdl_index は対象の線形化のインデックスを指定します。

バッチ線形化の結果のサブセットのみの相補感度関数を取得する場合、この構文を使用して効率的な線形化を行います。

すべて展開する

解析ポイントでの相補感度関数

ex_scd_simple_fdbk モデルのプラント出力で計算された相補感度関数を取得します。

ex_scd_simple_fdbk モデルを開きます。

mdl = 'ex_scd_simple_fdbk';
open_system(mdl);

このモデルには次の項目が含まれています。

モデルの slLinearizer インターフェイスを作成します。

sllin = slLinearizer(mdl);

プラント出力での相補感度関数を計算するには、y 信号を解析ポイントとして使用します。この点を sllin に追加します。

addPoint(sllin,'y');

y での相補感度関数を取得します。

sys = getCompSensitivity(sllin,'y');
tf(sys)
ans =
 
  From input "y" to output "y":
   -3
  -----
  s + 8
 
Continuous-time transfer function.

ソフトウェアは y で線形化出力を追加し、その後に線形化入力 dy を追加します。

sysdy から y への伝達関数です。これは、–(I+GK)-1GK と同じです。

相補感度関数の計算用の一時的なループ開始点の指定

scdcascade モデルでは、y2 での内側のループの相補感度関数を取得します。

scdcascade モデルを開きます。

mdl = 'scdcascade';
open_system(mdl);

モデルの slLinearizer インターフェイスを作成します。

sllin = slLinearizer(mdl);

y2 での内側のループの相補感度伝達関数を計算するには、y2 信号を解析ポイントとして使用します。外側のループの影響を取り除くには、y1m で外側のループを中断します。これらの両方の点を sllin に追加します。

addPoint(sllin,{'y2','y1m'});

y2 での内側のループの相補感度関数を取得します。

sys = getCompSensitivity(sllin,'y2','y1m');

ここで、3 番目の入力引数 'y1m' は、外側のループの一時的な開始点を指定します。

特定のパラメーターの組み合わせでの相補感度関数

複数の伝達関数に対して scdcascade モデルをバッチ線形化するとします。ほとんどの線形化では、C2 コントローラーの比例ゲイン (Kp2) および積分ゲイン (Ki2) を 10% の範囲で変化させます。この例では、Kp2 および Ki2 の最大値で内側のループの相補感度関数を計算します。

scdcascade モデルを開きます。

mdl = 'scdcascade';
open_system(mdl);

モデルの slLinearizer インターフェイスを作成します。

sllin = slLinearizer(mdl);

C2 コントローラーの比例ゲイン (Kp2) および積分ゲイン (Ki2) を 10% の範囲で変化させます。

Kp2_range = linspace(0.9*Kp2,1.1*Kp2,3);
Ki2_range = linspace(0.9*Ki2,1.1*Ki2,5);

[Kp2_grid,Ki2_grid]=ndgrid(Kp2_range,Ki2_range);

params(1).Name = 'Kp2';
params(1).Value = Kp2_grid;

params(2).Name = 'Ki2';
params(2).Value = Ki2_grid;

sllin.Parameters = params;

内側のループの相補感度を計算するには、y2 信号を解析ポイントとして使用します。外側のループの影響を取り除くには、y1m で外側のループを中断します。これらの両方の点を sllin に追加します。

addPoint(sllin,{'y2','y1m'})

Ki2 および Kp2 の最大値のインデックスを特定します。

mdl_index = params(1).Value==max(Kp2_range) & params(2).Value==max(Ki2_range);

y2 で相補感度伝達関数を取得します。

sys = getCompSensitivity(sllin,'y2','y1m',mdl_index);

入力引数

すべて展開する

sllin - Simulink® モデルを線形化するためのインターフェイスslLinearizer インターフェイス

Simulink モデルを線形化するためのインターフェイス。slLinearizer インターフェイスとして指定します。

pt - 解析ポイント信号名文字列 | 文字列のセル配列

解析ポイント信号名。以下で指定します。

  • 文字列 — 解析ポイント信号名。

    解析ポイントに関連付けられた信号名を確認するには、「sllin」と入力します。MATLAB® コマンド ウィンドウに sllin の内容が表示されます。これには、解析ポイント信号名、ブロック名および端子番号が含まれます。解析ポイントに信号名がなく、ブロック名と端子番号のみがあるとします。ブロック名として pt を指定できます。sllin の解析ポイントのリストにない点を使用するには、最初に addPoint を使用して点を追加します。

    完全な信号名またはブロック名の一意的に一致する部分文字列として pt を指定できます。解析ポイントの完全な信号名が 'LoadTorque' であるとします。'Torque'sllin の他の解析ポイントの信号名の部分文字列でなければ、pt'Torque' と指定できます。

    たとえば、pt = 'y1m' とします。

  • 文字列のセル配列 — 複数の解析ポイント名を指定します。たとえば、pt = {'y1m','y2m'} とします。

sys を計算するために、ソフトウェアは pt で線形化出力を追加し、その後に線形化入力を追加します。

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

'y' として pt を指定します。

ソフトウェアは、dy から y への伝達関数として sys を計算します。

pt を複数の信号として指定する場合 (たとえば、pt = {'u','y'})、ソフトウェアは各点で、線形化出力を追加し、その後に線形化入力を追加します。

dudy は線形化入力で、uy は線形化出力です。ソフトウェアは、各線形化入力から各線形化出力への伝達関数をもつ MIMO 伝達関数として sys を計算します。

temp_opening - 一時的開始点信号名文字列 | 文字列のセル配列

一時的開始点信号名。以下で指定します。

  • 文字列 — 解析ポイント信号名。

    temp_opening では、sllin の解析ポイントのリストにある解析ポイントを指定しなければなりません。解析ポイントに関連付けられた信号名を確認するには、「sllin」と入力します。MATLAB コマンド ウィンドウに sllin の内容が表示されます。これには、解析ポイント信号名、ブロック名および端子番号が含まれます。解析ポイントに信号名がなく、ブロック名と端子番号のみがあるとします。ブロック名として temp_opening を指定できます。sllin の解析ポイントのリストにない点を使用するには、最初に addPoint を使用して点を追加します。

    完全な信号名またはブロック名の一意的に一致する部分文字列として temp_opening を指定できます。解析ポイントの完全な信号名が 'LoadTorque' であるとします。'Torque'sllin の他の解析ポイントの信号名の部分文字列でなければ、temp_opening'Torque' と指定できます。

    たとえば、temp_opening = 'y1m' とします。

  • 文字列のセル配列 — 複数の解析ポイント名を指定します。たとえば、temp_opening = {'y1m','y2m'} とします。

mdl_index - 対象の線形化のインデックス論理値の配列 | 正の整数のベクトル

対象の線形化のインデックス。以下で指定します。

  • 論理値の配列 — 対象の線形化の論理配列のインデックス。2 つのパラメーター par1par2 を変化させ、par1 > 0.5par2 <= 5 の組み合わせで線形化を抽出するとします。使用:

    params = sllin.Parameters;
    mdl_index = params(1).Value>0.5 & params(2).Value<=5;

    params(1).Value>0.5 & params(2).Value<5 は論理インデックスを使用して、論理配列を返します。この論理配列は、params(1).Value および params(2).Value と同じサイズです。各エントリには、params(1).Value および params(2).Value 内の対応するエントリの式の論理評価が含まれます。

  • 正の整数のベクトル — 対象の線形化の線形インデックス。2 つのパラメーター par1par2 を変化させ、par1 > 0.5par2 <= 5 の組み合わせで線形化を抽出するとします。使用:

    params = sllin.Parameters;
    mdl_index = find(params(1).Value>0.5 & params(2).Value<=5);

    params(1).Value>0.5 & params(2).Value<5 は論理配列を返します。find はその論理配列の true の各エントリの線形インデックスを返します。

出力引数

すべて展開する

sys - 相補感度関数ss モデル

相補感度関数。以下の説明のように返されます。

  • sllin.Parameters および sllin.OperatingPoints を設定していない場合、ソフトウェアは既定のモデル パラメーター値を使用して sys を計算します。モデルの初期条件は線形化の操作点として使用されます。sysss モデルとして返されます。

  • sllin.Parameters のみを設定している場合、ソフトウェアはそれぞれのパラメーター グリッド点の線形化を計算します。sys は、パラメーター グリッドと同じサイズの ss モデルの配列として返されます。

  • sllin.OperatingPoints のみを設定している場合、ソフトウェアは指定されたそれぞれの操作点の線形化を計算します。sys は、sllin.OperatingPoints と同じサイズの ss モデルの配列として返されます。

  • sllin.Parameters を設定しており、sllin.OperatingPoints を単一の操作点として指定している場合、ソフトウェアはそれぞれのパラメーター グリッド点の線形化を計算します。ソフトウェアは、指定された操作点を線形化操作点として使用します。sys はパラメーター グリッドと同じサイズの ss モデルの配列として返されます。

  • sllin.Parameters を設定しており、sllin.OperatingPoints を複数の操作点オブジェクトとして指定している場合、ソフトウェアはそれぞれのパラメーター グリッド点の線形化を計算します。sllin.OperatingPointssllin.Parameters で指定されたパラメーター グリッドと同じサイズでなければなりません。ソフトウェアは、対応する操作点およびパラメーター グリッド点を使用してそれぞれの線形化を計算します。sys はパラメーター グリッドと同じサイズの ss モデルの配列として返されます。

  • sllin.Parameters を設定しており、sllin.OperatingPoints を複数のシミュレーション スナップショット時間として指定している場合、ソフトウェアはスナップショット時間とパラメーター グリッド点のそれぞれの組み合わせに対してモデルをシミュレーションして線形化します。サイズ p のパラメーター グリッドとスナップショット時間 N を指定するとします。sys は、サイズが Np 列の ss モデル配列として返されます。

詳細

すべて展開する

相補感度関数

ある点での "相補感度関数" とは、その点での加法的な外乱から同じ点での測定への伝達関数のことです。感度関数とは対照的に、測定の "後に" 外乱が追加されます。

解析ポイント x での相補感度関数を計算するために、ソフトウェアは x で線形化出力を追加し、その後に線形化入力 dx を追加します。相補感度関数は、dx から x への伝達関数です。

Simulink モデルでの解析ポイントgetCompSensitivity による解析ポイントの解釈相補感度関数

dx から x への伝達関数

たとえば、y での相補感度関数を計算する次のモデルについて考えます。

ここで、ソフトウェアは y で線形化出力を追加し、その後に線形化入力 dy を追加します。y での相補感度関数 T は、dy から y への伝達関数です。T は、以下のように計算されます。

ここで、I は GK と同じサイズの単位行列です。y での相補感度達関数は、r から y への閉ループ伝達関数に -1 を掛け合わせたものと同じです。

一般的には、基準信号からプラント出力まで計算される相補感度関数 T は、I–S と同じです。ここで、S はこの点での感度関数で、I は同じサイズの単位行列です。ただし、getCompSensitivity は同じ点で線形化出力と入力を追加するため、getCompSensitivity で返される T は、S–I と同じです。

ソフトウェアは、相補感度関数を計算する際に Simulink モデルを変更しません。

解析ポイント

"解析ポイント" は、slLinearizer インターフェイスで使用され、線形解析に関連するモデル内の位置を識別します。解析ポイントは、次の slLinearizer インターフェイスの線形化コマンドの入力として使用します。getIOTransfergetLoopTransfergetSensitivity および getCompSensitivity。線形化コマンドの入力として、解析ポイントによりモデル内の開ループまたは閉ループの伝達関数を指定できます。

"場所" とは、モデル内の特定のブロック出力端子を指します。便宜上、この端子から発信する信号の名前を使って解析ポイントを示すことができます。

slLinearizer インターフェイス sllin を作成する際に、解析ポイントをこのインターフェイスに追加できます。

sllin = slLinearizer('scdcascade',{'u1','y1'});

また、addPoint コマンドを使用することもできます。

sllin のすべての解析ポイントを表示するには、コマンド プロンプトで「sllin」と入力してインターフェイスの内容を表示します。sllin の各解析ポイントの表示には、ブロック名、端子番号、およびこの解析ポイントから発信される信号の名前が含まれます。

永続的なループ開始点

"永続的な開始点" とは、slLinearizer インターフェイスで使用され、モデル内でソフトウェアが線形化の信号フローを中断する場所のことです。ソフトウェアは、それぞれの線形化でこれらの開始点を適用します。永続的な開始点を使用して、線形化用に特定のモデルのコンポーネントを分離します。航空機のダイナミクスをキャプチャする大規模なモデルがあり、機体にのみ線形解析を実行するとします。永続的な開始点を使用すると、線形化からモデルのその他のすべてのコンポーネントを除外できます。モデル内にカスケード式ループがあり、特定のループを解析する場合などにも使用できます。

"場所" とは、モデル内の特定のブロック出力端子を指します。便宜上、この端子から発信する信号の名前を使って開始点を示すことができます。

slLinearizer インターフェイスを作成する際に、永続的な開始点をそのインターフェイスに追加できます。また、addOpening コマンドを使用して追加することもできます。永続的な開始点のリストから場所を削除するには、removePoint コマンドを使用します。

sllin のすべての開始点を表示するには、コマンド プロンプトで「sllin」と入力してインターフェイスの内容を表示します。sllin のそれぞれの永続的な開始点の表示には、ブロック名、端子番号、およびこの場所から発信される信号の名前が含まれます。

参考

| | | | |

この情報は役に立ちましたか?