メインコンテンツ

最大ステップ サイズ

可変ステップ ソルバーを使用するシミュレーションで許可される最大ステップ サイズ

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

説明

[最大ステップ サイズ] パラメーターは、シミュレーションで可変ステップ ソルバーが受け入れることのできる最大ステップ サイズを秒単位で指定します。

ローカル ソルバーを使用するように参照モデルを構成した場合、その参照モデルの [最大ステップ サイズ] パラメーターはローカル ソルバーの最大ステップ サイズを指定します。 (R2025a 以降)

依存関係

このパラメーターを有効にするには、ソルバーの [タイプ][可変ステップ] に設定します。

設定

auto (既定値) | スカラー
auto

既定では、[最大ステップ サイズ] パラメーターの値は [auto] です。これは、シミュレーションで使用する最大ステップ サイズがソルバーによって決定されることを示します。ソルバーはモデルを解析し、次のようないくつかの制約を満たすステップ サイズを選択します。

  • 最大ステップ サイズは、次のすべての値以下でなければなりません。

    • モデルに離散サンプル時間が含まれている場合は、モデル内で最も小さい離散サンプル時間

    • モデルに周期信号を生成するブロック (Sine Wave ブロックや Signal Generator ブロックなど) が含まれている場合は、モデル内で指定された最も高い周波数の周期の 1/3

    • 終了時間が Inf の場合は、0.2

  • シミュレーションでは少なくとも 50 のタイム ステップを取る必要があります。

    hmax=tstoptstart50

  • 終了時間はステップ サイズの整数倍でなければなりません。

Simulink.op.ModelOperatingPoint オブジェクトとして指定されている初期状態からシミュレーションを開始するようにモデルが構成されており、[最大ステップ サイズ] パラメーターの値が [auto] の場合は、ModelOperatingPoint オブジェクトに格納されている最大ステップ サイズが使用されます。

ヒント

[最大ステップ サイズ] パラメーターが [自動] に設定されている場合に [連続積分の分離を有効化] パラメーターを選択すると、ソルバーでより大きい最大ステップ サイズを特定できるため、シミュレーションを高速化することができます。

スカラー

一般に、ソルバーを使用すると適切な最大ステップ サイズが特定されます。以下の場合は、最大ステップ サイズを指定することを検討してください。

  • モデルのシミュレーションを長時間実行する。長時間にわたる場合は、ソルバーが選択するステップ サイズが大きすぎて解が見つからないことがあります。

  • モデルに周期的な動作またはほぼ周期的な動作が含まれ、周期がわかっている。最大ステップ サイズを周期の数分の 1 (1/4 など) として指定します。

  • ソルバーによって決定された最大ステップ サイズの使用時に、ソルバーによる重要な動作の取りこぼしが懸念される。

すべて展開する

モデル vdp を開きます。

mdl = "vdp";
open_system(mdl)

The model vdp.

モデルに使用するソルバーをソフトウェアが選択できるようにするには、[タイプ] パラメーターを [Fixed-step] または [Variable-step] に指定し、[ソルバー] パラメーターを [auto] に設定します。この例では、モデルに可変ステップ ソルバーを選択するようにソフトウェアを構成します。

  1. [コンフィギュレーション パラメーター] ダイアログ ボックスを開くには、[モデル化] タブで [モデル設定] をクリックします。

  2. [ソルバー] ペインで、ソルバーの [タイプ][Variable-step] に設定し、[ソルバー] パラメーターを [auto (Automatic solver selection)] に設定します。

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

または、関数 set_param を使用してパラメーターの値をプログラムで設定します。

set_param(mdl,"SolverType","Variable-step", ...
    "SolverName","VariableStepAuto")

モデルのシミュレーションを実行します。[シミュレーション] タブで [実行] をクリックします。または、関数 sim を使用します。

out = sim(mdl);

シミュレーションの初期化の一環として、モデルが解析されてソルバーが選択されます。Simulink エディターの下部のステータス バーで、選択されたソルバーが右側に示されます。このモデルについては、ode45 ソルバーが選択されます。

The right side of the status bar shows the selected solver as auto(ode45).

選択されたソルバー パラメーターに関する詳細情報を表示するには、選択されたソルバーを示すステータス バーのテキストをクリックします。[ソルバー情報] メニューには、選択されたソルバーおよび [最大ステップ サイズ] パラメーターに対して選択された値が表示されます。このシミュレーションでは、ソルバーは最大ステップ サイズ 0.4 を使用します。

The pointer is on the text in the status bar that indicates the selected solver. The Solver information menu shows selected parameter values above three buttons.

ソルバーの選択と最大ステップ サイズを制限する場合は、ソルバー パラメーターの値を明示的に指定します。[ソルバー情報] メニューで、[提案された設定を受け入れる] をクリックします。

または、関数 set_param を使用してパラメーターの値をプログラムで指定することもできます。

set_param(mdl,"SolverName","ode45","MaxStep","0.4")

パラメーター値を明示的に指定すると、ステータス バーと [ソルバー情報] メニューのソルバー情報には、パラメーター値の自動的な選択が示されなくなります。

The Solver information menu is opened above the right side of the status bar. The solver information in the status bar and Solver information menu no longer show auto() around the solver parameter values.

プログラムでの使用

パラメーター: MaxStep
型: string | 文字ベクトル
値: 数値スカラー
既定の設定: "auto"

バージョン履歴

R2006a より前に導入