Main Content

set_param

Simulink パラメーターの値を設定

説明

set_param(object,parameter1,value1,...,parameterN,valueN) は、object で指定されたターゲット オブジェクトについて、指定された Simulink® パラメーター parameter を指定された値 value に設定します。ターゲット オブジェクトは、モデル、サブシステム、ライブラリ、ブロック、ライン、端子、またはバス要素端子の要素のいずれかになります。

ターゲット オブジェクトの複数のパラメーターの値を設定するには、関数 set_param を各パラメーターについて別々に呼び出す代わりに、名前と値の引数を複数指定して 1 回呼び出します。1 つの関数呼び出しで複数のパラメーターを設定すると、パラメーターの評価が 1 回だけで済むため効率的です。いずれかのパラメーターの名前または値が無効な場合、関数はどのパラメーターも設定しません。

すべて折りたたむ

vdp モデルを開き、Solver パラメーターと StopTime パラメーターの値を設定します。

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

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

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

vdp を開き、Mu という名前の Gain ブロックの Gain パラメーターの値を設定します。

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

vdp を開き、Mu という名前の Gain ブロックの位置を設定します。

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

vdp モデル内の Mu という名前の Gain ブロックの位置をブロック ハンドルを使用して設定します。

Mu という名前の Gain ブロックのハンドルを取得するには、関数 getSimulinkBlockHandle を使用します。vdp モデルを読み込むには、true を指定します。

mublockhandle = getSimulinkBlockHandle('vdp/Mu',true);

同じブロックに対する set_param を複数回呼び出す場合は、ブロック ハンドルを使用します。その方がブロックの絶対パスを使用するよりも効率的です。

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

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

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

vdp を開き、Mu という名前の Gain ブロックについて、ブロック名がブロックの上になるように設定します。

vdp
set_param('vdp/Mu','NameLocation','top')

入力引数

すべて折りたたむ

オブジェクトの名前、パス、またはハンドル。文字ベクトル、string スカラー、または数値スカラーとして指定します。

ターゲット オブジェクトを指定する方法はタイプによって異なります。

  • モデル — モデルの名前またはハンドル。

  • サブシステム — サブシステムの名前またはハンドル。

  • ライブラリ — ライブラリの名前またはハンドル。

  • ブロック — ブロックのパスまたはハンドル。

  • ライン — ラインのハンドル。

  • 端子 — 端子のハンドル。

  • バス要素端子の要素 — 要素のラベルが付いたモデル コンポーネントのブロック パス。要素は、最上位バス、入れ子のバス、信号、メッセージなど、任意の端子の要素にすることができます。

例: 'vdp/Mu'

例: 'mymodel/Subsystem1/Out1.nonsinusoidal.saw'

ヒント

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

  • 通常 MATLAB に表示されるよりも多くの桁を指定しなければならないため、ハンドルの数値 (5.007 など) を手動で指定しようとしないでください。ハンドルを変数に代入し、その変数の名前を使用します。

データ型: char | string | double

パラメーター、プロパティ、または属性の名前。文字ベクトルまたは string スカラーとして指定します。一部の名前では大文字と小文字が区別されます。

パラメーター、プロパティ、または属性の詳細については、対応するリファレンス ページのプログラムでの使用に関する情報を参照してください。次に例を示します。

  • モデル — コンフィギュレーション パラメーターのリファレンス ページを参照してください。

  • ブロック — 共通のブロック プロパティおよびブロックのリファレンス ページを参照してください。

  • 端子 — 信号プロパティツールのリファレンス ページを参照してください。

  • バス要素端子の要素 — In Bus Element ブロックおよび Out Bus Element ブロックのリファレンス ページを参照してください。

ターゲット オブジェクトのすべてのパラメーターを取得するには、'ObjectParameters' オプションを指定して関数 get_param を使用します。返されるパラメーターに内部使用専用のパラメーターが含まれることもあります。

例: 'Solver'

例: 'SimulationCommand'

例: 'Position'

例: 'NameLocation'

データ型: char | string

パラメーターの値。パラメーター タイプで決まる形式で指定します。一部のパラメーター値では大文字と小文字が区別されます。多くの場合、値は文字ベクトルか string スカラーですが、数値スカラーや配列など他の型になる場合もあります。

多くのブロック パラメーターの値は、文字ベクトルまたは string スカラーとして指定されます。例外としては、ベクトルとして指定される Position と任意のデータ型にできる UserData の 2 つがあります。

制限

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

ヒント

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

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

バージョン履歴

R2006a より前に導入