メインコンテンツ

固定ステップ サイズ (基本サンプル時間)

固定ステップ ソルバーのステップ サイズ

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

説明

[固定ステップ サイズ (基本サンプル時間)] パラメーターは、固定ステップ ソルバーのステップ サイズを指定します。

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

依存関係

このパラメーターは次の場合に有効になります。

設定

auto | 正のスカラーの double
auto

既定では、固定ステップ サイズは [auto] です。以下のルールに従って、シミュレーションに適したステップ サイズが決定されます。

  • モデルに周期的離散サンプル時間が含まれている場合は、モデル内の周期的なサンプル時間の最大公約数と等しいステップ サイズが選択されます。このステップ サイズを使用すると、シミュレーションがモデル内のサンプル時間ごとに確実にステップを取るようになります。

  • モデルに周期的離散サンプル時間が含まれておらず、有限サンプル時間が指定されている場合は、シミュレーションを 50 個の均等なステップに分割したステップ サイズが選択されます。

    hmax=tstoptstart50

  • モデルに周期的なサンプル時間が含まれておらず、終了時間が Inf として指定されている場合は、シミュレーションではステップ サイズ 0.2 が使用されます。

  • モデルに周期的なサンプル時間が含まれておらず、Sine Wave ブロックまたは Signal Generator ブロックが使用されている場合は、ソース ブロックによって生成される周期信号の最大周波数も考慮されます。ステップ サイズは、確実にモデルの周期信号の最小周期 (最大周波数 Freqmax の逆数として特定される) の 1/3 以上になるように計算されます。

    シミュレーションの終了時間が有限の場合、最小周期の 1/3 がシミュレーションを 50 個の均等なステップに分割して計算されたステップ サイズより小さいときは、シミュレーションでは最大周波数を使用して決定されるステップ サイズが使用されます。

    hmax=min(tstoptstart50,(13)(1Freqmax))

    シミュレーションの終了時間が無限の場合、最小周期の 1/3 が 0.2 より小さいときは、シミュレーションでは最大周波数を使用して決定されるステップ サイズが使用されます。

    hmax=min(tstoptstart50,(13)(1Freqmax))

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

ソルバーが固定ステップ サイズを決定できるようにしている場合は、次に示す複数の方法でソルバーが決定した値を確認できます。

  • モデルがコンパイルされると、[ソルバー情報] ウィンドウとツールヒントに、ソルバーと固定ステップ サイズに関する情報が表示されます。ソルバーの情報を表示するには、Simulink® エディターの右下隅にあるソルバー情報文字列をクリックするかカーソルを合わせます。

    The Solver information window shows that the software chose the ode3 fixed-step solver and a fixed step size of 0.4 for this simulation.

    モデルのコンパイルを引き起こすアクションはいくつかあり、たとえば、ブロック線図の更新やモデルのシミュレーションなどがあります。

  • get_param 関数を使用して FixedStep パラメーターの値を取得する場合、パラメーター値が auto として指定されていると、関数は 'auto' を返します。モデルがコンパイルされたら、get_param 関数を使用して CompiledStepSize パラメーターの値を取得することで、選択される固定ステップ サイズにプログラムによってアクセスできます。

    fixedStepSize = get_param("mdlName","CompiledStepSize");

  • シミュレーション結果を単一のシミュレーション出力オブジェクトとして返す場合、Simulink.SimulationOutput オブジェクトのメタデータには、シミュレーションで使用された固定ステップ サイズが含まれます。固定ステップ サイズは、Simulink.SimulationMetadata オブジェクトのモデル情報の一部として、ソルバー情報に格納されます。

    simMetadata = out.SimulationMetadata;
    simModelInfo = simMetadata.ModelInfo;
    simSolverInfo = simModelInfo.SolverInfo;
    simFixedStep = simSolverInfo.FixedStepSize;

正のスカラーの double

[auto] 以外の値を使用するには、固定ステップ サイズを秒単位の倍精度値として指定します。

指定するステップ サイズは、モデル内で最も小さい離散サンプル時間以下でなければならず、モデル内のすべての離散サンプル時間は指定するステップ サイズで割り切れる必要があります。

ローカル ソルバーのステップ サイズの指定に関する詳細は次のとおりです。

  • ローカル ステップ サイズは、親ソルバーとローカル ソルバーがデータを交換するレートを決定する "通信ステップ サイズ" 以下でなければなりません。

    R2024a より前: 親ソルバーが固定ステップ ソルバーの場合、ローカル ソルバーのステップ サイズは親ソルバーのステップ サイズの整数倍でなければなりません。

  • ローカル ステップ サイズが通信ステップ サイズより小さい場合、通信ステップ サイズはローカル ステップ サイズで割り切れる必要があります。

    たとえば、通信ステップ サイズが 0.1 秒の場合、ローカル ソルバーは 0.1 秒、0.05 秒、0.025 秒などにすることができます。

詳細については、Use Local Solvers in Referenced Modelsを参照してください。

プログラムでの使用

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

バージョン履歴

R2006a より前に導入