メインコンテンツ

開始時間

シミュレーションの開始時間

モデル コンフィギュレーション ペイン: ソルバー

説明

[開始時間] パラメーターは、シミュレーションの開始時間を秒単位の倍精度値として指定します。シミュレーション開始時間は、シミュレーションが結果を計算する最初の時間値と、シミュレーション エンジンが時間の伝播を開始する時間を指定します。

設定

0.0 (既定値) | スカラー数
  • 開始時間は終了時間以下でなければなりません。

  • 初期条件を持つブロック パラメーターの値は、指定された開始時間における初期条件設定と一致する必要があります。

  • シミュレーション時間とクロック時間は同じではありません。たとえば、10 秒間のシミュレーションを実行しても、通常は 10 秒かかりません。シミュレーション時間の合計は、モデルの複雑度、ソルバーのステップ サイズ、システムの速度などの多くの要因によって決まります。

  • 固定ステップ ソルバーを使用する場合、シミュレーションの開始時間は、ゼロまたはシミュレーションの固定タイム ステップの整数倍である必要があります。この要件を満たさない開始時間を指定すると、診断が発行され、開始時間を固定ステップ サイズの最も近い整数倍に変更されます。この条件の診断動作を変更するには、[自動ソルバー パラメーターの選択] パラメーターを使用します。

すべて展開する

モデル vdp を開きます。

mdl = "vdp";
open_system(mdl)

モデルは、開始時間 0 秒、終了時間 20 秒で保存されます。

get_param(mdl,"StartTime")
ans = 
'0.0'
get_param(mdl,"StopTime")
ans = 
'20'

モデルのシミュレーションを実行します。シミュレーション結果を確認するには、Scope ブロックをダブルクリックします。[Scope] ウィンドウに、開始時間から終了時間までの結果が表示されます。

out1 = sim(mdl);

The Scope displays the signals x1 and x2 for the 20-second simulation.

開始時間を 10 秒、停止時間を 40 秒に変更します。

  1. [モデル化] タブの [設定] で、[モデル設定] をクリックします。

  2. [ソルバー] ペインを選択します。

  3. [開始時間] ボックスに「10」と入力します。

  4. [終了時間] ボックスに「40」と入力します。

  5. [OK] をクリックします。

あるいは、set_param 関数を使用して、開始時間と終了時間をプログラムで構成します。

set_param(mdl,"StartTime","10","StopTime","40")

モデルを再度シミュレートします。[Scope] ウィンドウが更新され、シミュレーション時間が長くなったことが反映されます。時間軸の範囲は 0 ~ 30 で、[Scope] ウィンドウの右下に 10 秒のオフセットが示されます。

out2 = sim(mdl);

The Scope window displays the signals x1 and x2 for the 30-second simulation.

モデルに保存されているコンフィギュレーション パラメーター値を変更せずにシミュレーションの開始時間と終了時間を変更するには、Simulink.SimulationInput オブジェクトを使用します。

モデル vdp を開きます。

mdl = "vdp";
open_system(mdl)

保存されているように、モデルの開始時間は 0 秒、終了時間は 20 秒です。

get_param(mdl,"StartTime")
ans = 
'0.0'
get_param(mdl,"StopTime")
ans = 
'20'

Simulink.SimulationInput オブジェクトを作成してモデルのシミュレーションを構成します。

simIn = Simulink.SimulationInput(mdl);

setModelParameter 関数を使用して、シミュレーションの開始時間を 10 秒、終了時間を 40 秒に指定します。

simIn = setModelParameter(simIn,"StartTime","10",...
    "StopTime","40");

SimulationInput オブジェクトを使用してモデルをシミュレートします。

out = sim(simIn);

シミュレーションでは、SimulationInput オブジェクトで定義されている開始時間と終了時間の値が使用されます。

tFirst = out.yout{1}.Values.Time(1)
tFirst = 
10
tLast = out.yout{1}.Values.Time(end)
tLast = 
40

モデル内のコンフィギュレーション パラメーターの値は変更されません。

get_param(mdl,"StartTime")
ans = 
'0.0'
get_param(mdl,"StopTime")
ans = 
'20'

プログラムでの使用

パラメーター: StartTime
型: string | 文字ベクトル
値: double のスカラー
既定の設定: "0.0"

バージョン履歴

R2006a より前に導入