genss
一般化状態空間モデル
説明
一般化状態空間 (genss
) モデルは、調整可能なパラメーターまたはコンポーネントを含む状態空間モデルです。genss
モデルは、数値 LTI モデルを調整可能なコンポーネント (制御設計ブロック) を含むモデルと組み合わせたときに発生します。数値 LTI モデルと制御設計ブロックの詳細は、調整可能な係数をもつモデルを参照してください。
一般化状態空間モデルを使用すると、固定および調整可能なコンポーネントが混在している制御システムを表すことができます。一般化状態空間モデルは、systune
や looptune
といったコマンドを使用したパラメーター調査やパラメーター調整などの制御設計作業に使用します。
構築
genss
モデルを構築するには、次を行います。
series
、parallel
、lft
、またはconnect
か、算術演算子+
、-
、*
、/
、\
、および^
を使用して数値 LTI モデルと制御設計ブロックを組み合わせる。以下を使用して、任意の数値 LTI モデル、制御設計ブロック、または
slTuner
(Simulink Control Design) インターフェイス (sys
など) をgenss
形式に変換する (Simulink® Control Design™ が必要)。gensys = genss(sys)
sys
がslTuner
インターフェイスである場合、gensys
にはこのインターフェイスで指定されたすべての調整可能なブロックおよび解析ポイントが含まれます。特定の I/O 伝達関数の調整可能なモデルを計算するには、getIOTransfer(gensys,in,out)
を呼び出します。ここで、in
およびout
は対象となる解析ポイントです(getPoints(sys)
を使用して解析ポイントの完全なリストを取得します)。同様に、特定の開ループ伝達関数の調整可能なモデルを計算するには、getLoopTransfer(gensys,loc)
を使用します。ここで、loc
は対象となる解析ポイントです。
プロパティ
|
一般化 LTI モデルまたは一般化行列に含まれる制御設計ブロックを含む構造体。 ドット表記を使用すると、これらの制御設計ブロックのいくつかの属性を変更できます。たとえば、一般化 LTI モデルまたは一般化行列 M.Blocks.a.Value = -1; |
|
調整可能なパラメーターおよび不確かさをもつパラメーターに対する状態空間行列の依存関係。一般化行列 ( これらのプロパティは、静的な制御設計ブロック 対応する状態空間行列が静的な制御設計ブロックに一切依存しない場合、これらのプロパティは double 行列として評価されます。 例については、状態空間行列のパラメーターへの依存関係を参照してください。 |
|
E 行列。一般化状態空間方程式が陰的である場合、double 行列として格納されます。値 |
|
状態名。次のいずれかとして格納されます。
既定値: すべての状態に対して |
|
状態単位のラベル。次のいずれかとして格納されます。
既定値: すべての状態に対して |
|
内部遅延を格納するベクトル。 内部遅延は、たとえば、システムで遅延のあるフィードバック ループを閉じるときや、遅延システムを順番にまたは並列で接続するときに生じます。内部遅延の詳細については、むだ時間のある閉フィードバック ループを参照してください。 連続時間モデルの場合、内部遅延はモデルの 内部遅延の値は変更できます。ただし、 |
|
各入力チャネルの入力遅延。スカラー値または数値ベクトルとして指定します。連続時間システムの場合、
既定値: 0 |
|
出力遅延。
既定値: すべての出力チャネルに対して 0 |
|
サンプル時間。連続時間モデルの場合、 このプロパティを変更してもモデルの離散化やリサンプリングは行われません。 既定値: |
|
モデル内の時間変数、サンプル時間
このプロパティを変更しても他のプロパティには影響しないため、システム全体の動作が変更されます。 既定値: |
|
入力チャネル名。以下のいずれかとして指定します。
または、自動的なベクトル拡張を使用して多入力モデルの入力名を割り当てます。たとえば、 sys.InputName = 'controls'; 入力名は自動的に 省略形表記 以下を含めて、入力チャネル名はいくつかの用途をもちます。
既定値: すべての入力チャネルに対する |
|
入力チャネル単位。以下のいずれかとして指定します。
既定値: すべての入力チャネルに対する |
|
入力チャネル グループ。 sys.InputGroup.controls = [1 2]; sys.InputGroup.noise = [3 5]; これは、入力チャネル 1、2 および 3、5 をそれぞれ含む sys(:,'controls') 既定値: フィールドのない構造体 |
|
出力チャネル名。次のいずれかとして指定されます。
または、自動的なベクトル拡張を使用して多出力モデルの出力名を割り当てます。たとえば、 sys.OutputName = 'measurements'; 出力名は自動的に 省略形表記 以下を含めて、出力チャネル名はいくつかの用途をもちます。
既定値: すべての出力チャネルに対して |
|
出力チャネル単位。次のいずれかとして指定されます。
既定値: すべての出力チャネルに対して |
|
出力チャネル グループ。 sys.OutputGroup.temperature = [1]; sys.OutputGroup.measurement = [3 5]; これは、出力チャネル 1 および 3、5 をそれぞれ含む sys('measurement',:) 既定値: フィールドのない構造体 |
|
システム名。文字ベクトルとして指定します。たとえば、 既定値: |
|
システムに関連付ける任意のテキスト。string または文字ベクトルの cell 配列として格納されます。プロパティには指定したデータ型が格納されます。たとえば、 sys1.Notes = "sys1 has a string."; sys2.Notes = 'sys2 has a character vector.'; sys1.Notes sys2.Notes ans = "sys1 has a string." ans = 'sys2 has a character vector.' 既定値: |
|
システムに関連付ける任意のデータ型。任意の MATLAB® データ型として指定します。 既定値: |
|
モデル配列のサンプリング グリッド。データ構造として指定されます。 1 つ以上の独立変数をサンプリングすることによって得られるモデル配列の場合、このプロパティは配列内の各モデルに関連付けられた変数値を追跡します。この情報はモデル配列を表示またはプロットすると表示されます。この情報を使用して、結果を独立変数まで遡ります。 データ構造のフィールド名をサンプリング変数の名前に設定します。フィールドの値を、配列内の各モデルに関連付けられているサンプリングされた変数の値に設定します。すべてのサンプリング変数は数値でスカラー値でなければならず、サンプル値のすべての配列はモデル配列の次元に一致しなければなりません。 たとえば、 sysarr.SamplingGrid = struct('time',0:10) 同様に、2 つの変数 [zeta,w] = ndgrid(<6 values of zeta>,<9 values of w>) M.SamplingGrid = struct('zeta',zeta,'w',w)
M M(:,:,1,1) [zeta=0.3, w=5] = 25 -------------- s^2 + 3 s + 25 M(:,:,2,1) [zeta=0.35, w=5] = 25 ---------------- s^2 + 3.5 s + 25 ... 複数のパラメーター値または操作点で Simulink モデルを線形化することにより生成されたモデル配列の場合、 既定値: |
例
ヒント
バージョン履歴
R2011a で導入