setModelParameter
SimulationInput オブジェクトまたは Simulation オブジェクトを使用してシミュレーション用のモデル パラメーター値を設定する
説明
s = setModelParameter( は、s,Name=Value)Simulink.SimulationInput オブジェクトまたは Simulation オブジェクト s で、名前が Name のモデル パラメーターを値 Value に設定します。
sがSimulationInputオブジェクトの場合、各パラメーターについて、シミュレーション全体で使用する単一の値のみを指定できます。sがSimulationオブジェクトの場合、各パラメーターについて、シミュレーションの開始時に使用する単一の値を指定できます。また、調整可能なパラメーターについて、シミュレーション中に新しい値を指定できます。
setModelParameter 関数を使用すると、SimulationInput オブジェクトまたは Simulation オブジェクトで任意のモデル パラメーターの値を指定できます。SimulationInput オブジェクトまたは Simulation オブジェクトを使用して実行するシミュレーション用にモデルに保存されているパラメーターの値は、シミュレーション中は指定した値でオーバーライドされ、シミュレーションが完了すると元に戻ります。SimulationInput オブジェクトまたは Simulation オブジェクトを使用して任意の数のパラメーター値をオーバーライドできます。
例
SimulationInput オブジェクトを使用して、シミュレーション用のモデル パラメーター値を構成します。
モデルを開きます。
mdl = "sldemo_househeat"; openExample("simulink_general/sldemo_househeatExample",... SupportingFile=mdl)
モデルの SimulationInput オブジェクトを作成します。
simin = Simulink.SimulationInput(mdl);
シミュレーション タイムアウトを 5 秒と指定し、シミュレーションの開始時間と終了時間を指定します。
simin = setModelParameter(simin,Timeout=5); simin = setModelParameter(simin,StartTime="1",StopTime="4");
モデルのシミュレーションを実行します。
out = sim(simin);
入力引数
モデル パラメーターを設定するシミュレーション仕様またはシミュレーション。Simulink.SimulationInput オブジェクトまたは Simulation オブジェクトとして指定します。
SimulationInput オブジェクトは、シミュレーションで使用する初期状態、外部入力、モデル パラメーター値、ブロック パラメーター値、変数値など、シミュレーションの仕様を表します。最初の入力引数を SimulationInput オブジェクトとして指定した場合、次のようになります。
各モデル パラメーターについて、シミュレーション全体で使用する単一の値のみを指定できます。
戻り引数として
SimulationInputオブジェクトを指定する必要があります。
Simulation オブジェクトはシミュレーションを表し、シミュレーションを制御および操作するためのインターフェイスを提供します。最初の入力引数を Simulation オブジェクトとして指定した場合、次のようになります。
各モデル パラメーターについて、シミュレーションで使用する初期値を指定できます。
調整可能なモデル パラメーターの値をシミュレーション中に変更できます。
戻り引数として
Simulationオブジェクトを指定することはオプションです。
例: simin = setModelParameter(simin,FixedStep="0.1") は、SimulationInput オブジェクト simin に格納されているシミュレーション構成で固定ステップ サイズを 0.1 秒と指定します。
例: sm = setModelParameter(sm,FixedStep="0.1") は、Simulation オブジェクト sm で表されるシミュレーションで固定ステップ サイズの値を 0.1 に変更します。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。
例: simin = setModelParameter(simin,TimeOut="100") は、シミュレーション タイムアウトが 100 秒の SimulationInput オブジェクトを構成します。
モデル コンフィギュレーション パラメーター。コンフィギュレーション パラメーターのプログラム上の名前とコンフィギュレーション パラメーターの値で構成される名前と値の引数として指定します。たとえば、[終了時間] パラメーターの値を指定するには、プログラム上のパラメーター名 StopTime を名前と値の引数の名前として使用し、シミュレーション終了時間を値として指定します。次のコマンドでは、simin という名前の SimulationInput オブジェクトでシミュレーション終了時間を 100 秒に設定しています。
simin = setModelParameter(simin,StopTime="100");setModelParameter 関数を使用して、SimulationInput オブジェクトまたは Simulation オブジェクトで任意のモデル パラメーターの値を指定できます。モデルの階層構造をシミュレートする場合、指定するコンフィギュレーション パラメーターの値は最上位モデルに適用されます。
例: simin = setModelParameter(simin,FixedStep="0.1") は、SimulationInput オブジェクト simin に格納されているシミュレーション構成で固定ステップ サイズを 0.1 秒と指定します。
例: sm = setModelParameter(sm,FixedStep="0.1") は、Simulation オブジェクト sm で表されるシミュレーションで固定ステップ サイズの値を 0.1 に変更します。
ヒント
モデル コンフィギュレーション パラメーターのリストを取得するには、関数 getActiveConfigSet と関数 get_param を使用します。たとえば、vdp という名前のモデルのコンフィギュレーション パラメーターを表示するには、MATLAB® コマンド ウィンドウで次のコマンドを入力します。
configSet = getActiveConfigSet("vdp"); configSetNames = get_param(configSet,"ObjectParameters")
関数 get_param から、StopTime、SaveTime、SaveState、SaveOutput、SignalLogging など、すべてのモデル コンフィギュレーション パラメーターのリストが返されます。
R2024a 以降
個々の反復シミュレーションに対して高速リスタートを有効にするオプション。"on" または "off" として指定します。
"on"— シミュレーションで高速リスタートを有効にします。高速リスタートでは、高速リスタートを有効にした後に実行する最初のシミュレーションでモデルをコンパイルし、それ以降はコンパイルと終了をスキップすることで、反復的なシミュレーション ワークフローの時間を短縮します。既定では、高速リスタートは無効になっています。詳細については、高速リスタートによる反復的なシミュレーションの改善を参照してください。SimulationオブジェクトまたはスカラーのSimulationInputオブジェクトを使用して高速リスタートを有効にしたシミュレーションを実行する場合、モデルがまだ高速リスタートで初期化されていなければ、シミュレーションの実行前にモデルがコンパイルされます。高速リスタートでは、シミュレーションの終了後にモデルは初期化されたままになります。"off"— シミュレーションで高速リスタートを無効にします。
このパラメーターは、以下を使用して実行される個々のシミュレーションにのみ影響します。
sim関数とスカラーのSimulationInputオブジェクトSimulationオブジェクト
SimulationInput オブジェクトの配列を sim、parsim、batchsim などの関数への入力として指定して複数のシミュレーションを実行する場合は、sim 関数、parsim 関数、または batchsim 関数で名前と値の引数 UseFastRestart を指定して高速リスタートを有効にします。詳細については、Script Iterative or Batch Simulations Using Fast Restartを参照してください。
例: simin = setModelParameter(simin,FastRestart="on") は、SimulationInput オブジェクト simin で、スカラーの SimulationInput オブジェクトを sim 関数の入力引数として指定して実行するシミュレーションに対して高速リスタートを有効にするように構成します。
例: sm = setModelParameter(sm,FastRestart="on") は、Simulation オブジェクト sm で表されるシミュレーションで高速リスタートを有効にするように構成します。
データ型: char | string
シミュレーション モード。"normal"、"accelerator"、または "rapid-accelerator" として指定します。
| 値 | 説明 |
|---|---|
"normal" | ノーマル モードを使用してシミュレーションを実行します。 ノーマル モードのシミュレーションでは、完全なモデルの表現が使用され、シミュレーション中のモデル操作のサポートが最大になります。 ノーマル モードは、シミュレーションの合間にモデルの構造の変更が必要なワークフローに使用します。最良の結果が得られるように、シミュレーションのデバッグにはノーマル モードを使用します。 |
"accelerator" | アクセラレータ モードを使用してシミュレーションを実行します。 アクセラレータ モードのシミュレーションでは、シミュレーションで使用する "シミュレーション ターゲット" と呼ばれる最適化されたモデルの表現が生成されます。シミュレーションのパフォーマンスを改善する最適化によって、シミュレーション中のモデル操作機能が低下する可能性があります。アクセラレータ モードのシミュレーションの合間にモデルを変更すると、シミュレーション ターゲットの再生成が必要になることがあります。 アクセラレータ モードは、シミュレーションの合間にモデルの構造を変更しないワークフローで、シミュレーションの速度を上げるために使用します。 |
"rapid-accelerator" | ラピッド アクセラレータ モードを使用してシミュレーションを実行します。 ラピッド アクセラレータ モードのシミュレーションでは、シミュレーションに使用するスタンドアロン実行可能ファイルが生成されます。スタンドアロン実行可能ファイルでは、シミュレーション中のモデル操作のサポートは最小限になります。ラピッド アクセラレータ シミュレーションの合間にモデルを変更すると、スタンドアロン実行可能ファイルのリビルドが必要になることがあります。 ラピッド アクセラレータ モードは、シミュレーションの合間に行うモデルの変更が変数やパラメーターの値の調整 "のみ" である場合に、シミュレーションの実行を最も速くするために使用します。一部のパラメーターの値を調整すると、スタンドアロン実行可能ファイルのリビルドが必要になることがあります。 |
詳細については、シミュレーション モードの選択および高速化されたモデルでのコードの再生成を参照してください。
例: simin = setModelParameter(simin,SimulationMode="rapid-accelerator") は、SimulationInput オブジェクト simin を使用して実行されるシミュレーションでラピッド アクセラレータ モードを使用するように構成します。
例: sm = setModelParameter(sm,SimulationMode="rapid-accelerator") は、Simulation オブジェクト sm で表されるシミュレーションについて、ラピッド アクセラレータ モードを使用してシミュレーションを実行するように構成します。
ヒント
可視化ブロックは、シミュレーションを Simulink エディターなどの UI から実行する場合はシミュレーション中に更新されますが、ラピッド アクセラレータ シミュレーションをプログラムで実行する場合はシミュレーション中に更新されません。
スタンドアロン実行可能ファイルのリビルドを回避するために、
RapidAcceleratorUpToDateCheckパラメーターの値を"off"として指定してラピッド アクセラレータの最新チェックを無効にできます。最新チェックを無効にすると、実行可能ファイルのリビルドが必要になる変更が無視されます。ラピッド アクセラレータ モードを使用してシミュレートするために、
"rapid-accelerator"の部分一致である"rapid"を指定できます。MATLAB の名前と値の引数の詳細については、名前と値の引数の検証を参照してください。
データ型: char | string
R2024a 以降
シミュレーション出力でシミュレーション エラーを取得するオプション。"off" または "on" として指定します。このパラメーターは、以下を使用して実行される個々のシミュレーションにのみ影響します。
sim関数とスカラーのSimulationInputオブジェクトSimulationオブジェクト
SimulationInput オブジェクトの配列を sim、parsim、batchsim などの関数への入力として指定して複数のシミュレーションを実行する場合、CaptureErrors パラメーターは常に有効になります。
| 動作 | CaptureErrors="off" (既定) | CaptureErrors="on" |
|---|---|---|
| シミュレーション エラーに対する例外の発行 | シミュレーション エラーに対して例外が発行されます。 例外により、該当する場合は、エラーが発生したシミュレーションとそのシミュレーションを呼び出した関数またはスクリプトの両方が停止します。 | シミュレーション エラーに対して例外が発行されません。 シミュレーション エラーによってシミュレーションが停止します。ただし、シミュレーションを呼び出したのがスクリプトまたは別の関数であった場合、その関数またはスクリプトの実行はシミュレーション エラーで中断されません。 |
| エラー報告 | シミュレーション中に発生したエラーが MATLAB コマンド ウィンドウで報告されます。 | シミュレーション エラーに関する情報 (メッセージやエラーが発生したシミュレーション フェーズなど) がシミュレーション出力で取得されます。 |
| シミュレーション結果 | 例外の発行により、シミュレーションが直ちに停止します。関数 | 関数 |
例: simin = setModelParameter(simin,CaptureErrors="on") は、スカラーの SimulationInput オブジェクト simin を使用して実行される単一のシミュレーションについて、シミュレーション出力でシミュレーション エラーを取得するように構成します。
例: sm = setModelParameter(sm,CaptureErrors="on") は、Simulation オブジェクト sm で表されるシミュレーションについて、シミュレーション出力でシミュレーション エラーを取得するように構成します。
ヒント
このオプションは、ソフトウェアインザループ (SIL) およびプロセッサインザループ (PIL) のシミュレーションではサポートされません。
シミュレーション エラーを取得するように個々のシミュレーションを構成する場合や、
SimulationInputオブジェクトの配列を指定して複数のシミュレーションを実行する場合は、シミュレーション結果でエラーとシミュレーションに関する情報を確認できます。メッセージを確認するには、
SimulationOutputオブジェクトのErrorMessageプロパティを使用します。エラーの詳細を確認するには、
Simulink.SimulationMetadataオブジェクトのExecutionInfoプロパティを使用します。エラーが発生したシミュレーション フェーズなど、エラーに関する情報がErrorDiagnosticフィールドに格納されています。
データ型: char | string
ラピッド アクセラレータ ターゲットのリビルドを無効にするオプション。"on" または "off" として指定します。この引数を "on" として指定すると、ラピッド アクセラレータ ターゲットのリビルドが必要になる変更は無視されます。このオプションを使用する場合、変更するオプションは、ラピッド アクセラレータ ターゲットをリビルドする必要がないものだけにしてください。
例: simin = setModelParameter(simin,RapidAcceleratorUpToDateCheck="off") は、SimulationInput オブジェクトでラピッド アクセラレータ ターゲットのリビルドを無効にするように構成します。
例: sm = setModelParameter(sm,RapidAcceleratorUpToDateCheck="off") は、Simulation オブジェクト sm で表されるシミュレーションでラピッド アクセラレータの最新チェックを無効にします。
データ型: char | string
シミュレーションの最大実行時間。正のスカラーとして指定します。時間を秒単位で指定し、シミュレーションを実行させます。シミュレーションの実行時間が指定した値を超えると、ソフトウェアにより警告が発行され、シミュレーションが停止します。たとえば、TimeOut を 30 として指定した場合、シミュレーション結果の計算に 30 秒かかると、その時点でソフトウェアによりシミュレーションが停止し、警告が発行されます。
TimeOut パラメーターで指定するのは、実行するシミュレーションのクロック時間の制限です。シミュレートする最大時間の値を指定するには、[終了時間] パラメーターを使用します。
例: simin = setModelParameter(simin,TimeOut=60) は、SimulationInput オブジェクト simin に格納されているシミュレーション構成で最大実行時間を 60 秒に設定します。
例: sm = setModelParameter(sm,TimeOut=60) は、Simulation オブジェクト sm で表されるシミュレーションで最大実行時間を 60 秒に設定します。
データ型: char | string
出力引数
モデル パラメーターが追加または変更されたシミュレーション仕様またはシミュレーション。Simulink.SimulationInput オブジェクトまたは Simulation オブジェクトとして返されます。
setModelParameter 関数を使用して SimulationInput オブジェクトでモデル パラメーターの値を指定する場合、戻り引数として SimulationInput オブジェクトを指定する必要があります。
setModelParameter 関数を使用して Simulation オブジェクトでモデル パラメーターの値を指定する場合、戻り引数の割り当てはオプションです。
ヒント
SimulationInputオブジェクトまたはSimulationオブジェクトで指定されているパラメーターの値を取得するには、getModelParameter関数を使用します。paramval = getModelParameter(s,"ParamName");SimulationInputオブジェクトまたはSimulationオブジェクトからモデル パラメーターを削除するには、removeModelParameter関数を使用します。s = removeModelParameter(s,"ParamName");
バージョン履歴
R2017a で導入Simulation オブジェクトはシミュレーションを表します。また、シミュレーション実行を制御し、シミュレーション中にモデル パラメーター、ブロック パラメーター、および変数の値を調整するためのインターフェイスを提供します。setModelParameter 関数を使用して、シミュレーション中に使用するモデル パラメーターの値を指定したり、調整可能なモデル パラメーターの値をシミュレーション中に変更したりできます。
setModelParameter 関数を使用して、SimlationInput オブジェクトまたは Simulation オブジェクトで FastRestart パラメーターを有効にできます。高速リスタートでは、高速リスタートを有効にした後に実行する最初のシミュレーションでモデルをコンパイルし、それ以降はコンパイルと終了をスキップすることで、反復的なシミュレーション ワークフローの時間を短縮します。
FastRestart パラメーターは、Simulation オブジェクトまたは sim 関数を使用して一度に 1 つずつ実行する個々のシミュレーションに対してのみ適用されます。SimulationInput オブジェクトの配列と sim、parsim、または batchsim のいずれかの関数を使用して複数のシミュレーションを実行するときに高速リスタートを使用するには、sim 関数、parsim 関数、または batchsim 関数で名前と値の引数 UseFastRestart を指定します。
詳細については、高速リスタートによる反復的なシミュレーションの改善を参照してください。
以前のリリースでは、関数 sim でスカラーの SimulationInput オブジェクトに加えて 1 つ以上の名前と値の引数 (名前と値の引数 StopOnError など) を指定した場合、単一のシミュレーションに対する CaptureErrors パラメーターが上書きされていました。現在は、次の表にまとめるように、関数 sim の既定の動作とオプションが統一されています。
SimulationInput の次元 | CaptureErrors | StopOnError | 動作変更 |
|---|---|---|---|
| スカラー | 既定では このパラメーターを有効にするには、関数 | この名前と値の引数は、単一のシミュレーションを実行する場合は効果はありません。 | 以前のリリースのスクリプトや関数に含まれる一部の関数 |
| ベクトル、行列、配列 | 常に "on"。 | 既定では この名前と値の引数を | 変更なし。 |
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)