ドキュメンテーション

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

genmat

調整可能なパラメーターのある一般化行列

説明

一般化行列 (genmat) は、調整可能なパラメーターに依存する行列です (realp を参照)。パラメーターの調査には一般化行列を使用できます。また、一般化行列は、固定および調整可能なコンポーネントが混在している制御システムを表す一般化 LTI モデルを作成する (genss を参照) ためにも使用できます。

構築

一般化行列は、数値を realp オブジェクトなどの静的ブロックに組み合わせるときに生じます。このような組み合わせは、任意の算術演算子 +-*/\、および ^ を使用して作成します。たとえば、ab が調整可能なパラメーターである場合、式 M = a + b は一般化行列で表されます。

一般化行列は、ゲイン スケジュール コントローラーを作成するための調整可能なゲイン曲面を表現できます。Robust Control Toolbox™ のコマンド gainsurf を使用して調整可能なゲイン曲面を作成します。

genmat オブジェクト M の内部データ構造は、M がパラメーター a および b に依存するしくみを記録します。MBlocks プロパティは、パラメーター a および b の一覧を表示します。

M = genmat(A) は、数値配列または調整可能なパラメーター Agenmat オブジェクトに変換します。

入力引数

A

realp オブジェクトのような静的な Control Design ブロック。

A が数値配列である場合、M は調整可能なパラメーターのない A と同じ次元の一般化行列です。

A が静的 Control Design ブロックである場合、MBlocks プロパティが唯一のブロックとして A を示す一般化行列です。

プロパティ

Blocks

一般化 LTI モデルまたは一般化行列に含まれる Control Design ブロックを含む構造体。Blocks のフィールド名は、Control Design ブロックの Name プロパティです。

ドット表記を使用すると、これらの Control Design ブロックのいくつかの属性を変更できます。たとえば、一般化 LTI モデルまたは一般化行列 Mrealp の調整可能なパラメーター a を含んでいる場合、次を使用して a の現在の値を変更できます。

M.Blocks.a.Value = -1;

SamplingGrid

モデル配列のサンプリング グリッド。データ構造として指定されます。

1 つまたは複数の独立変数をサンプリングすることによって得られるモデル配列の場合、このプロパティは配列内の各モデルに関連付けられた変数値を追跡します。 この情報はモデル配列を表示またはプロットすると表示されます。この情報を使用して、結果を独立変数まで遡ります。

データ構造のフィールド名をサンプリング変数の名前に設定します。フィールドの値を、配列内の各モデルに関連付けられているサンプリングされた変数の値に設定します。すべてのサンプリング変数は数値でスカラー値でなければならず、サンプル値のすべての配列はモデル配列の次元に一致しなければなりません。

たとえば、t = 0:10 の各時点で線形時変システムのスナップショットを記録することにより、線形モデルの 11 行 1 列の配列 sysarr を作成するとします。次のコードは線形モデルでの時間サンプルを格納します。

 sysarr.SamplingGrid = struct('time',0:10)

同様に、2 つの変数 zetaw を個別にサンプリングすることにより、6 行 9 列のモデル配列 M を作成するとします。次のコードは (zeta,w) の値を M に付加します。

[zeta,w] = ndgrid(<6 values of zeta>,<9 values of w>)
M.SamplingGrid = struct('zeta',zeta,'w',w)

M を表示する際、配列の各エントリは対応する zetaw の値を取り込みます。

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
 
...

既定値: []

2 つの調整可能なパラメーターをもつ一般化行列

この例は、調整可能なパラメーターの代数的組み合わせを使用して一般化行列を作成する方法を示します。

M=[1a+b0ab],

ここで、a と b はそれぞれ初期値が –1 と 3 である調整可能なパラメーターです。

  1. realp を使って調整可能なパラメーターを作成します。

     a = realp('a',-1);
     b = realp('b',3);
  2. ab の代数式を使って一般化行列を定義します。

    M = [1 a+b;0 a*b]

    MBlocks プロパティに ab を含む一般化行列です。a および b の初期値から、M の初期値は M = [1 2;0 -3] です。

  3. (オプション) パラメーター a の初期値を変更します。

    M.Blocks.a.Value = -3;
  4. (オプション) double を使用して M の新しい値を表示します。

    double(M)

    M の新しい値は M = [1 0;0 -9] です。

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