Main Content

linearizeOptions

線形化オプションの設定

説明

options = linearizeOptions は、既定の線形化オプション セットを返します。

options = linearizeOptions(Name,Value) は、1 つ以上の Name,Value の引数ペアで指定された追加オプションを使用して、オプション セットを返します。

すべて折りたたむ

レート変換法を周波数 10 rad/s のプリワーピング付き Tustin 法に設定する線形化オプション セットを作成します。また、線形化パスの外のブロックは省略するように線形化を指定します。

options = linearizeOptions('RateConversionMethod','prewarp',...
                           'PreWarpFreq',10,...
                           'BlockReduction','off');

あるいは、ドット表記を使用して options の値を設定します。

options = linearizeOptions;
options.RateConversionMethod = 'prewarp';
options.PreWarpFreq = 10;
options.BlockReduction = 'off';

入力引数

すべて折りたたむ

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後に表示されなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。

例: 'RateConversionMethod','prewarp' は、レート変換メソッドをプリワーピング付き Tustin メソッドに設定します。

線形化に使用されるアルゴリズム。'LinearizationAlgorithm' と、次のいずれかで構成されるコンマ区切りのペアとして指定します。

  • 'blockbyblock' — モデルの各ブロックを個別に線形化し、その結果を組み合わせて、指定されたシステムの線形化を生成します。

  • 'numericalpert' — 前進差分を使用してルートレベルの入力端子と状態が摂動される全モデルの数値摂動法線形化。つまり、入力と状態の値に摂動を加えます。この摂動法は、通常 'numericalpert2' 法よりも高速です。

  • 'numericalpert2' — 中心差分を使用してルートレベルの入力端子と状態が数値的に摂動される全モデルの数値摂動法線形化。つまり、入力と状態の値に正と負の両方向の摂動を加えます。この摂動法は、通常 'numericalpert' 法よりも正確です。

数値摂動による線形化の方法は、モデルに設定されている線形解析ポイントを無視し、代わりにルートレベルの入力端子と出力端子を使用します。

ブロックごとの線形化には、全モデルの数値摂動法よりも優れた点がいくつかあります。

  • 多くの Simulink® ブロックには事前にプログラムされた正確な線形化が含まれています。

  • 線形解析ポイントを使用して、線形化するモデルの部分を指定できます。

  • モデルのシミュレーションに影響を与えずにカスタム線形化を使用するようにブロックを設定できます。

  • 構造的な非最小状態は自動的に削除されます。

  • 不確かさを伴う線形化を指定できます (Robust Control Toolbox™ ソフトウェアが必要)。

  • 線形化についての詳細な診断情報を取得できます。

線形化の結果のサンプル時間。'SampleTime' と、次のいずれかで構成されるコンマ区切りのペアとして指定します。

  • -1 — サンプル時間をモデルの非ゼロのサンプル時間の最小公倍数に設定します。

  • 0 — 連続時間モデルを作成します。

  • 正のスカラー — 離散時間システムのサンプル時間を指定します。

線形化されたモデル内の I/O および状態の名前を打ち切るかどうかを示すフラグ。'UseFullBlockNameLabels' と次のいずれかで構成されるコンマ区切りのペアとして指定します。

  • 'off' — 線形化されたモデル内の I/O および状態に、打ち切られた名前を使用します。

  • 'on' — 線形化されたモデル内の I/O および状態の名前に、ブロックの絶対パスを使用します。

線形化されたモデル内で I/O のラベル付けにバス信号チャネルの番号または名前のどちらを使用するかを示すフラグ。'UseBusSignalLabels' と次のいずれかで構成されるコンマ区切りのペアとして指定します。

  • 'off' — バス信号チャネル番号を使用して、線形化されたモデルのバス信号の I/O にラベルが付けられます。

  • 'on' — バス信号名を使用して、線形化されたモデルのバス信号の I/O にラベルが付けられます。I/O ポイントが次に示すブロックの出力ポイントに位置している場合、バス信号名が結果に表示されます。

    • バス オブジェクトを含んでいる、ルートレベルの Inport ブロック

    • Bus Creator ブロック

    • ソースが Bus Creator ブロックの出力まで遡って追跡するサブシステム ブロック

    • ソースがバーチャルまたは非バーチャル サブシステムの境界のみのパス スルーにより、ルートレベルの Inport まで遡って追跡するサブシステム ブロック

入力、出力、状態、および状態微分または更新された状態について、線形化のオフセットを計算するかどうかを示すフラグ。'StoreOffsets' と次のいずれかで構成されるコンマ区切りのペアとして指定します。

  • false — 線形化オフセットを計算しません。

  • true — 線形化オフセットを計算します。

線形化オフセットを使用して LPV System ブロックを構成できます。例については、LTI システムの配列を使用した非線形動作の近似を参照してください。

線形化中に診断情報を保存するかどうかを示すフラグ。'StoreAdvisor' と次のいずれかで構成されるコンマ区切りのペアとして指定します。

  • false — 線形化の診断情報を保存しません。

  • true — 線形化の診断情報を保存します。

線形化コマンドは診断情報を保存して LinearizationAdvisor オブジェクトに返します。LinearizationAdvisor オブジェクトを使用して線形化の結果をトラブルシューティングする例は、コマンド ラインを使用した線形化の結果のトラブルシューティングを参照してください。

線形化パスにないブロックを省略するかどうかを示すフラグ。'BlockReduction' と次のいずれかで構成されるコンマ区切りのペアとして指定します。

  • 'on' — 寄与しない線形化パスからの状態を含まない線形化されたモデルを返します。

  • 'off' — モデルのすべての状態を含む線形化されたモデルを返します。

無効な線形化パスには以下のものが含まれます。

  • ゼロに線形化するブロック。

  • パスに沿ってアクティブではない Switch ブロック。

  • 無効なサブシステム。

  • 開ループ線形化ポイントとしてマークされた信号。

たとえば、このフラグを 'on' に設定した場合、次の図に示すモデルの線形化の結果には 2 つの状態のみが含まれます。ここには、線形化パス外にある 2 つのブロックの状態は含まれません。これらのブロックは、0 に線形化するブロック (零ゲイン ブロック) を含む無効な線形化パスに存在するため、それらの状態は表示されません。

このオプションは LinearizationAlgorithm'blockbyblock' の場合にのみ適用されます。LinearizationAlgorithm'numericalpert' または 'numericalpert2' の場合、BlockReduction は常に 'on' として扱われます。

線形化から離散時間状態を削除するかどうかを示すフラグ。'IgnoreDiscreteStates' と次のいずれかで構成されるコンマ区切りのペアとして指定します。

  • 'off' — 常に離散時間状態を含めます。

  • 'on' — 線形化から離散状態を除外します。連続時間線形化 (SampleTime = 0) を実行して離散時間状態をもつすべてのブロックで D 値を受け入れる場合、このオプションを使用します。

このオプションは LinearizationAlgorithm'blockbyblock' の場合にのみ適用されます。

マルチレート システムの線形化でレート変換に使用されるメソッド。'RateConversionMethod' と次のいずれかで構成されるコンマ区切りのペアとして指定します。

  • 'zoh' — ゼロ次ホールド レート変換メソッド

  • 'tustin' — Tustin (双一次) メソッド

  • 'prewarp' — 周波数プリワーピングを伴う Tustin メソッド。このメソッドを使用する場合、PreWarpFreq オプションを目的のプリワープ周波数に設定します。

  • 'upsampling_zoh' — 可能であれば離散状態をアップサンプルし、不可の場合は 'zoh' を使用します。

  • 'upsampling_tustin' — 可能であれば離散状態をアップサンプルし、不可の場合は 'tustin' を使用します。

  • 'upsampling_prewarp' — 可能であれば離散状態をアップサンプルし、不可の場合は 'prewarp' を使用します。このメソッドを使用する場合、PreWarpFreq オプションを目的のプリワープ周波数に設定します。

マルチレート モデルのレート変換と線形化の詳細については、以下を参照してください。

メモ

'zoh' 以外のレート変換メソッドを使用する場合、変換後の状態は、元の状態と異なる物理的意味をもちます。そのため、結果の LTI システムで状態名が '?' に変更されます。

このオプションは LinearizationAlgorithm'blockbyblock' の場合にのみ適用されます。

プリワープ周波数 (rad/s 単位)。'PreWarpFreq' と非負のスカラーで構成されるコンマ区切りのペアとして指定します。このオプションは RateConversionMethod'prewarp' または 'upsampling_prewarp' の場合にのみ適用されます。

正確な遅延をもつ線形化を計算するかどうかを示すフラグ。'UseExactDelayModel' と次のいずれかで構成されるコンマ区切りのペアとして指定します。

  • 'off' — 遅延を近似する線形モデルを返します。

  • 'on' — 正確な遅延をもつ線形モデルを返します。

このオプションは LinearizationAlgorithm'blockbyblock' の場合にのみ適用されます。

線形化のためにパラメーター値を変化させる際、モデルを再コンパイルするかどうかを示すフラグ。'AreParamsTunable' と次のいずれかで構成されるコンマ区切りのペアとして指定します。

  • true — 変化するパラメーターがすべて調整可能な場合はモデルを再コンパイルしません。変化するパラメーターのいずれかが調整可能でない場合、それぞれのパラメーター グリッド点でモデルを再コンパイルして、警告メッセージを表示します。

  • false — それぞれのパラメーター グリッド点でモデルを再コンパイルします。調整不可能なパラメーターの値を変化させる場合、このオプションを使用してください。

線形化でパラメーターが変化する場合のモデルのコンパイルの詳細については、パラメーター値を変化させたときのバッチ線形化の効率性を参照してください。

数値摂動のレベル。'NumericalPertRel' と正のスカラーで構成されるコンマ区切りペアとして指定します。このオプションは LinearizationAlgorithm'numericalpert' または 'numericalpert2' の場合にのみ適用されます。

システム状態の摂動レベルは次のとおりです。

NumericalPertRel+103×NumericalPertRel×|x|

システム入力の摂動レベルは次のとおりです。

NumericalPertRel+103×NumericalPertRel×|u|

これらの値は NumericalXPert または NumericalUPert オプションでオーバーライドすることができます。

状態の摂動レベル。'NumericalXPert' と操作点オブジェクトで構成されるコンマ区切りのペアとして指定します。このオプションは LinearizationAlgorithm'numericalpert' または 'numericalpert2' の場合にのみ適用されます。

それぞれの状態に個別の摂動レベルを設定するには、次のようにします。

  1. operpoint コマンドを使用して、モデルに操作点オブジェクトを作成します。

    xPert = operpoint('watertank');
  2. 操作点オブジェクトの状態の値を目的の摂動レベルに設定します。

    xPert.States(1).x = 2e-3;
    xPert.States(2).x = 3e-3;
  3. NumericalXPert オプションの値を操作点オブジェクトに設定します。

    opt = linearizeOptions('LinearizationAlgorithm','numericalpert');
    opt.NumericalXPert = xPert;

NumericalXPert が空 ([]) の場合、線形化アルゴリズムは NumericalPertRel を用いて状態の摂動レベルを求めます。

入力の摂動レベル。'NumericalUPert' と操作点オブジェクトで構成されるコンマ区切りのペアとして指定します。このオプションは LinearizationAlgorithm'numericalpert' または 'numericalpert2' の場合にのみ適用されます。

それぞれの入力に個別の摂動レベルを設定するには、次のようにします。

  1. operpoint コマンドを使用して、モデルに操作点オブジェクトを作成します。

    uPert = operpoint('watertank');
  2. 操作点オブジェクトの入力の値を目的の摂動レベルに設定します。

    uPert.Inputs(1).x = 3e-3;
  3. NumericalUPert オプションの値を操作点オブジェクトに設定します。

    opt = linearizeOptions('LinearizationAlgorithm','numericalpert');
    opt.NumericalUPert = uPert;

NumericalUPert が空 ([]) の場合、線形化アルゴリズムは NumericalPertRel を用いて入力の摂動レベルを求めます。

出力引数

すべて折りたたむ

線形化のオプション。linearizeOptions オプション セットとして返されます。

バージョン履歴

R2013b で導入

参考

| | (Robust Control Toolbox) |