メインコンテンツ

setBlockParameter

SimulationInput オブジェクトまたは Simulation オブジェクトを使用してシミュレーション用のブロック パラメーター値を設定する

説明

s = setBlockParameter(s,blkpath,blkparam,paramval) は、Simulink.SimulationInput オブジェクトまたは Simulation オブジェクト s で、ブロック blkpath のブロック パラメーター blkparam の値を paramval として指定します。

  • sSimulationInput オブジェクトの場合、シミュレーション全体で使用する単一の値のみを指定できます。

  • sSimulation オブジェクトの場合、シミュレーションの開始時に使用する単一の値を指定できます。また、調整可能なパラメーターについて、ノーマル シミュレーションとアクセラレータ シミュレーションの実行中に新しい値を指定できます。

    ラピッド アクセラレータ シミュレーションの実行中にブロック パラメーターの値を調整することはサポートされていません。

setBlockParameter 関数を使用すると、モデル階層構造全体の任意のブロックに対して、SimulationInput オブジェクトまたは Simulation オブジェクトでパラメーター値を指定できます。SimulationInput オブジェクトまたは Simulation オブジェクトを使用して実行するシミュレーション用にモデルに保存されているパラメーターの値は、シミュレーション中は指定した値でオーバーライドされ、シミュレーションが完了すると元に戻ります。SimulationInput オブジェクトまたは Simulation オブジェクトを使用して任意の数のパラメーター値をオーバーライドできます。

メモ

setBlockParameter 関数は、ラピッド アクセラレータの最新チェックを無効にしているラピッド アクセラレータ シミュレーションや展開ではサポートされません。これらのシミュレーションでブロック パラメーター値を変更するには、変数を使用してブロック パラメーター値を指定し、setVariable 関数を使用して変数の値を指定します。

すべて折りたたむ

Simulink.SimulationInput オブジェクトを使用して、シミュレーション用のブロック パラメーターを変更します。

モデルを開きます。

mdl = "sldemo_househeat";
openExample("simulink_general/sldemo_househeatExample",...
    SupportingFile=mdl)

このモデルの SimulationInput オブジェクトを作成します。

simin = Simulink.SimulationInput(mdl);

ブロック パラメーターの値を変更します。

simin = setBlockParameter(simin,"sldemo_househeat/Set Point",...
    Value="300");

モデルのシミュレーションを実行します。

out = sim(simin);

Simulink.SimulationInput オブジェクトを使用して、シミュレーション用の複数のブロック パラメーター値を変更します。

モデルを開きます。

mdl = "vdp";
openExample("simulink_general/VanDerPolOscillatorExample",...
    SupportingFile=mdl)

このモデルの SimulationInput オブジェクトを作成します。

simin = Simulink.SimulationInput(mdl);

Mu ブロックの Gain パラメーターの値と Product ブロックの位置を変更します。

simin = setBlockParameter(simin,"vdp/Mu","Gain","0.5",...
    "vdp/Product","Position",[50 100 110 120]);

モデルのシミュレーションを実行します。

out = sim(simin);

入力引数

すべて折りたたむ

ブロック パラメーターを設定するシミュレーション仕様またはシミュレーション。Simulink.SimulationInput オブジェクトまたは Simulation オブジェクトとして指定します。

SimulationInput オブジェクトは、シミュレーションで使用する初期状態、外部入力、モデル パラメーター値、ブロック パラメーター値、変数値など、シミュレーションの仕様を表します。最初の入力引数を SimulationInput オブジェクトとして指定した場合、次のようになります。

  • 各ブロック パラメーターについて、シミュレーション全体で使用する単一の値のみを指定できます。

  • 戻り引数として SimulationInput オブジェクトを指定する必要があります。

Simulation オブジェクトはシミュレーションを表し、シミュレーションを制御および操作するためのインターフェイスを提供します。最初の入力引数を Simulation オブジェクトとして指定した場合、次のようになります。

  • 各ブロック パラメーターについて、シミュレーションで使用する初期値を指定できます。

  • 調整可能なブロック パラメーターの値をノーマル モードとアクセラレータ モードのシミュレーション中に変更できます。

  • 戻り引数として Simulation オブジェクトを指定することはオプションです。

例: simin = setBlockParameter(simin,"vdp/Mu","Gain","0.1") は、SimulationInput オブジェクト simin に格納されているシミュレーション構成で、vdp という名前のモデル内にある Mu ブロックの [ゲイン] パラメーター値を 0.1 として指定します。

例: sm = setBlockParameter(sm,"vdp/Mu","Gain","0.1") は、Simulation オブジェクト sm で表されるシミュレーションで、vdp という名前のモデル内にある Mu ブロックの [ゲイン] パラメーター値を 0.1 として指定します。

パラメーター値を指定するブロックのパス。string または文字ベクトルとして指定します。

例: simin = setBlockParameter(simin,"vdp/Mu","Gain","0.1") は、SimulationInput オブジェクト simin に格納されているシミュレーション構成で、vdp という名前のモデル内にある Mu ブロックの [ゲイン] パラメーター値を 0.1 として指定します。

例: sm = setBlockParameter(sm,"vdp/Mu","Gain","0.1") は、Simulation オブジェクト sm で表されるシミュレーションで、vdp という名前のモデル内にある Mu ブロックの [ゲイン] パラメーター値を 0.1 として指定します。

設定するブロック パラメーターの名前。string または文字ベクトルとして指定します。

例: simin = setBlockParameter(simin,"vdp/Mu","Gain","0.1") は、SimulationInput オブジェクト simin に格納されているシミュレーション構成で、vdp という名前のモデル内にある Mu ブロックの [ゲイン] パラメーター値を 0.1 として指定します。

例: sm = setBlockParameter(sm,"vdp/Mu","Gain","0.1") は、Simulation オブジェクト sm で表されるシミュレーションで、vdp という名前のモデル内にある Mu ブロックの [ゲイン] パラメーター値を 0.1 として指定します。

ブロック パラメーターの値。指定したブロック パラメーターの有効な値として指定します。Gain ブロックの [ゲイン] パラメーターなど、多くのブロック パラメーターでは、数値ブロック パラメーターの値も含め、パラメーター値を string または文字ベクトルとして指定する必要があります。

例: simin = setBlockParameter(simin,"vdp/Mu","Gain","0.1") は、SimulationInput オブジェクト simin に格納されているシミュレーション構成で、vdp という名前のモデル内にある Mu ブロックの [ゲイン] パラメーター値を 0.1 として指定します。

例: sm = setBlockParameter(sm,"vdp/Mu","Gain","0.1") は、Simulation オブジェクト sm で表されるシミュレーションで、vdp という名前のモデル内にある Mu ブロックの [ゲイン] パラメーター値を 0.1 として指定します。

出力引数

すべて折りたたむ

ブロック パラメーターが追加または変更されたシミュレーション仕様またはシミュレーション。Simulink.SimulationInput オブジェクトまたは Simulation オブジェクトとして返されます。

setBlockParameter 関数を使用して SimulationInput オブジェクトでブロック パラメーターの値を指定する場合、戻り引数として SimulationInput オブジェクトを指定する必要があります。

setModelParameter 関数を使用して Simulation オブジェクトでブロック パラメーターの値を指定する場合、戻り引数の割り当てはオプションです。

ヒント

  • SimulationInput オブジェクトまたは Simulation オブジェクトで指定されているブロック パラメーター値を取得するには、getBlockParameter 関数を使用します。

    paramval = getBlockParameter(s,blkpath,"ParamName");

  • SimulationInput オブジェクトまたは Simulation オブジェクトからブロック パラメーターを削除するには、removeBlockParameter 関数を使用します。

    s = removeBlockParameter(s,blkpath,"ParamName");

バージョン履歴

R2017a で導入

すべて展開する