ドキュメンテーション

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

set_param

システムとブロックのパラメーター値の設定

説明

set_param(Object,ParameterName,Value,...ParameterNameN,ValueN) は、指定したモデルまたはブロック オブジェクトのパラメーターを、指定した値に設定します。

同じモデルやブロックで複数のパラメーターを設定する場合には、複数の set_param コマンドではなく、1 つの set_param コマンドで複数の ParameterNameValue 引数のペアを使用してください。呼び出しを 1 回にするとパラメーターの評価が 1 度で済むため、この手法はより効率的です。いずれかのパラメーターの名前または値が無効の場合、関数はどのパラメーターも設定しません。

ヒント:

  • 同じブロックに対する set_param を複数回呼び出す場合、数値ハンドルを使用する方がブロックの絶対パスを使用するよりも効率的にブロックを指定できます。getSimulinkBlockHandle を使用してブロック ハンドルを取得します。

  • matlab -nodisplay を使用してセッションを開始した場合は、set_param を使用してシミュレーションを実行することはできません。-nodisplay モードは set_param 使用したシミュレーションをサポートしていません。代わりに sim コマンドを使用します。

  • MATLAB® ワークスペースでパラメーターを設定した後にモデル内の変更を確認するには、ブロック線図を更新します。

    set_param(model,'SimulationCommand','Update')

パラメーター名については、以下を参照してください。

すべて折りたたむ

vdp を開き Solver パラメーターと StopTime パラメーターを設定します。

vdp
set_param('vdp','Solver','ode15s','StopTime','3000')

モデルを開き Solver パラメーターと StopTime パラメーターを設定します。現在の最上位モデルを取得するには bdroot を使用します。

vdp
set_param(bdroot,'Solver','ode15s','StopTime','3000')

vdp を開き Gain パラメーター値を Mu ブロックに設定します。

vdp
set_param('vdp/Mu','Gain','10')

vdp を開き Fcn ブロックの位置を設定します。

vdp
set_param('vdp/Fcn','Position',[50 100 110 120])

Fcn ブロックの位置を vdp モデル内に設定します。

必要に応じて getSimulinkBlockHandle を使用して vdp モデルを読み込み (true を指定することにより)、Fcn ブロックのハンドルを取得します。同じブロックに対する set_param を複数回呼び出す場合、ブロック ハンドルを使用する方が、ブロックの絶対パスを文字ベクトルとして指定するよりも効率的です。

fcnblockhandle = getSimulinkBlockHandle('vdp/Fcn',true);

ブロック ハンドルはそれ以降の get_param または set_param の呼び出しで使用できます。ハンドルを調べると、double が含まれていることがわかります。通常 MATLAB に表示されるよりも多くの桁を指定しなければならないため、ハンドルの数値 (5.007 など) を単独で使用しないでください。代わりにハンドルを変数に代入し、その変数名を使用してブロックを指定します。

set_param を指定してブロック ハンドルを使用し、位置を設定します。

set_param(fcnblockhandle,'Position',[50 100 110 120])

入力引数

すべて折りたたむ

モデルまたはブロックのハンドルまたは名前。数値ハンドルまたは文字ベクトルとして指定します。数値ハンドルはスカラーでなければなりません。また、ラインや端子のパラメーターを設定することはできますが、それらを指定するには数値ハンドルを使用しなければなりません。

ヒント

同じブロックに対する set_param を複数回呼び出す場合、数値ハンドルを使用する方が set_param を指定してブロックの絶対パスを使用するよりも効率的にブロックを指定できます。getSimulinkBlockHandle を使用してブロック ハンドルを取得します。通常 MATLAB に表示されるよりも多くの桁を指定しなければならないため、ハンドルの数値 (5.007 など) を単独で使用しないでください。ハンドルを変数に代入し、その変数名を使用してブロックを指定します。

例: 'vdp/Fcn'

モデルまたはブロックのパラメーター名。文字ベクトルまたは string スカラーとして指定します。一部のパラメーター名では大文字と小文字が区別されます。

例: 'Solver'

例: 'SimulationCommand'

例: 'Position'

モデルまたはブロックのパラメーターの値。パラメーター タイプで決まる形式で指定されます。一部のパラメーター値では大文字と小文字が区別されます。多くの場合、値は文字ベクトルですが、数値や配列など他の型になる場合もあります。多くのブロック パラメーターの値は文字ベクトルとして指定されますが、ベクトルとして指定される Position と、任意のデータ型に指定できる UserData という 2 つの例外のパラメーターがあります。

R2006a より前に導入