Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

調整不可能な構造体パラメーターを使用した行列の初期化

この例では、調整不可能な構造体パラメーター入力を使用して MATLAB Function ブロックで行列を出力する方法を示します。モデル matrix_struct_param_model を開きます。

この例では、ベース ワークスペースで構造体 p を定義するプリロード コールバック関数をモデルで使用します。p には rowscols の 2 つのフィールドがあります。コールバックを表示するには、[モデル化] タブで [モデル設定]、[モデル プロパティ] をクリックします。[コールバック] タブで [PreLoadFcn] をクリックします。

MATLAB Function ブロックと変数のプロパティの表示

MATLAB Function ブロックを開きます。この関数は、ブロックの入力 u とパラメーター p を使用して行列の出力 y を定義します。関数は空行列の各要素に入力変数 u の値を追加します。サイズは p のフィールドで決まります。関数で使用する MATLAB コードは次のとおりです。

function y = fcn(u, p)
y = zeros(p.rows,p.cols) + u;

[関数] タブで [データの編集] をクリックしてプロパティ インスペクターと [シンボル] ペインを開きます。p はパラメーター変数であり、したがって端子はありません。MATLAB Function ブロック パラメーター変数の設定を参照してください。代わりに、コールバックで定義されるベース ワークスペース変数 p の値を使用します。

p をクリックすると、プロパティ インスペクターにプロパティが表示されます。p の [スコープ] プロパティは [Parameter][調整可能] プロパティはオフになっています。

モデルの実行

モデルを実行します。MATLAB Function ブロックで、各要素が 99 である 2 行 3 列の行列が出力されます。コールバックで p のフィールドを調整することで行列のサイズを調整できます。

参考

関連するトピック