主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

ソルバー

説明

シミュレーション時またはコード生成時にモデルの状態を計算するために使用するソルバーを選択します。

カテゴリ:ソルバー

設定

次の種類から選択します。

新しいモデルの既定の設定は,VariableStepAutoです。

固定ステップソルバー

既定の設定:固定步进自动

一般に,[颂歌14x]以外の固定ステップソルバーは次のステップを以下のように計算します。

X(n+1)=X(n)+hdx(n)

ここでXは状態、hはステップサイズ,dXは状態微分です。dX (n)は,メソッドの順序に応じて1つ以上の導関数評価を使用し,特定のアルゴリズムによって計算されます。

自動

自動ソルバーが選択する固定ステップソルバーを使用して,モデルの状態を計算します。モデルのコンパイル時に,[自動]によって自動ソルバーがモデルのダイナミクスに基づいて選択する固定ステップソルバーに変わります。モデルの右下隅にあるソルバーのハイパーリンクをクリックして,この選択を受け入れるか変更します。

ode3 (Bogacki-Shampine)

Bogacki-Shampine式の積分手法を使用して状態導関数を計算することにより,次のタイムステップにおけるモデルの状態を,状態と状態導関数の現在の値の陽関数として計算します。

離散(連続状態なし)

固定ステップサイズを現在の時間に追加することによって,次のタイムステップの時間を計算します。

このソルバーは,状態のないモデルまたは離散状態のみのモデルの場合に,固定ステップサイズと共に使用してください。離散状態を更新するために,モデルのブロックが必要となります。

シミュレーション結果の精度と時間の長さは,シミュレーションに要するステップのサイズによって異なります。ステップサイズが小さいと,結果の精度が高くなりますが,シミュレーションに要する時間は長くなります。

メモ

連続状態をもつモデルのシミュレーションに固定ステップの離散ソルバーを使用することはできません。

ode8 (Dormand-Prince RK8 (7))

8.次 休眠王子式を使用して、次のタイム ステップにおけるモデルの状態を、状態と中間点で近似された状態導関数の現在の値の陽関数として計算します。

ode5 (Dormand-Prince)

5.次 休眠王子式を使用して、次のタイム ステップにおけるモデルの状態を、状態と中間点で近似された状態導関数の現在の値の陽関数として計算します。

ode4(龙格-库塔)

4.次ルンゲ・クッタ (RK4)式を使用して、次のタイム ステップにおけるモデルの状態を、状態と状態導関数の現在の値の陽関数として計算します。

ode2(修)

修積分手法を使用して,次のタイムステップにおけるモデルの状態を,状態と状態導関数の現在の値の陽関数として計算します。

ode1(欧拉)

欧拉積分手法を使用して,次のタイムステップにおけるモデルの状態を,状態と状態導関数の現在の値の陽関数として計算します。このソルバーは,高次のソルバーよりも必要な計算量が少なくなります。ただし,精度が比較的落ちます。

ode14x(外挿)

ニュートン法と現在の値からの外挿を組み合わせて使用して,次のタイムステップにおけるモデルの状態を,次のタイムステップにおける状態と状態導関数の"陰"関数として計算します。次の例では,Xが状態dXが状態導関数,hがステップサイズです。

X(n+1)-X(n)-hdx(n+1)=0

このソルバーでは,ステップあたりの必要な計算量が陽的なソルバーより多くなりますが,一定のステップサイズでの精度は高くなります。

ode1be(後退オイラー法)

ode1beソルバーは,固定の数のニュートン反復を使用し,固定コストのみが発生する,後退オイラー法型のソルバーです。ode1beソルバーを,ode14xソルバーに対する計算量の少ない固定ステップの代替方法として使用できます。

可変ステップソルバー

既定の設定:VariableStepAuto

自動

自動ソルバーが選択する可変ステップソルバーを使用して,モデルの状態を計算します。モデルのコンパイル時に,[自動]が,自動ソルバーがモデルのダイナミクスに基づいて選択する可変ステップソルバーに変わります。モデルの右下隅にあるソルバーのハイパーリンクをクリックして,この選択を受け入れるか変更します。

数值(Dormand-Prince)

陽的なルンゲ・クッタ(4、5)式(Dormand-Princeの組)を数値積分に使用して,次のタイムステップにおけるモデルの状態を計算します。

ode45は 1.ステップ ソルバーであるため、直前の時点における解しか必要となりません。

ode45はほとんどの問題に対する最初の試みとして使用してください。

離散(連続状態なし)

モデルの状態の変化の割合に応じて変化するステップサイズを追加することによって,次のステップの時間を計算します。

このソルバーは,状態のないモデルまたは離散状態のみのモデルの場合に,可変ステップサイズと共に使用してください。

ode23 (Bogacki-Shampine)

陽的なルンゲ・クッタ(2.3)式(Bogacki-Shampineの組)を数値積分に使用して,次のタイムステップにおけるモデルの状態を計算します。

ode23は 1.ステップ ソルバーであるため、直前の時点における解しか必要となりません。

粗い許容範囲で計算する場合や少しスティッフなシステムの場合,ode23ode45より効率的です。

ode113(亚当斯)

可変次数の 亚当斯·巴什福斯·莫尔顿·佩奇数値積分手法を使用して、次のタイム ステップにおけるモデルの状態を計算します。

奥德113はマルチステップソルバーです。そのため,通常は,現在の解を計算するために以前の複数の時点における解が必要となります。

厳しい許容範囲が設定された問題では,奥德113ode45より効率的な場合があります。

ode15s(硬/ NDF)

可変次元の数値微分式 (NDF)を使用して、次のタイム ステップにおけるモデルの状態を計算します。NDFは、排挡法とも呼ばれる後退差分式 (BDF)と関連していますが、それよりも効率的です。

ode15sはマルチステップソルバーです。そのため,通常は,現在の解を計算するために以前の複数の時点における解が必要となります。

ode15sはスティッフな問題の場合に効率的です。ode45がうまく機能しない場合や非効率な場合は,このソルバーを試してください。

ode23s(stiff/Mod.Rosenbrock)

変更された2次の。公式を使用して,次のタイムステップにおけるモデルの状態を計算します。

ode23sは 1.ステップ ソルバーであるため、直前の時点における解しか必要となりません。

ode23sは粗い許容誤差の場合にode15sより効率的であり,ode15sでは解けないスティッフな問題を解くことができます。

ode23t (Mod.硬/梯形)

”“フリーの内挿を使って台形則を実行することにより,次のタイムステップにおけるモデルの状態を計算します。

ode23tは 1.ステップ ソルバーであるため、直前の時点における解しか必要となりません。

ode23tは、問題が適度にスティッフで数値的減衰のない解が必要な場合に使用してください。

ode23tb(硬/ TR-BDF2)

陰的なルンゲ・クッタ式であるTR-BDF2をマルチステップで実行すること,つまり,最初の段階で台形則ステップを使い,2番目の段階で2次の後退差分式を使うことによって,次のタイムステップにおけるモデルの状態を計算します。この過程で,同じ反復行列が2つの段階での実行に利用されます。

ode23tbは粗い許容誤差の場合にode15sより効率的であり,ode15sでは解けないスティッフな問題を解くことができます。

定步长过零

Nth次の固定ステップ積分式を使用して,モデルの状態を,状態と中間点で近似された状態導関数の現在の値の陽関数として計算します。

ソルバー自体が固定ステップ ソルバーである間は、金宝app模拟®はステップサイズをゼロクロッシングで小さくして精度を確保します。

daessc(模拟人生)™ のソルバー)

Simscapeモデルから得られた微分代数方程式系の解を求めて,次のタイムステップのモデルの状態を計算します。daesscは,物理システムのモデル化によって生じた微分代数方程式をシミュレーションするために特別に設計されたロバストなアルゴリズムを提供します。

daesscはSimscape製品でのみ利用できます。

ヒント

  • モデルにとって最適なソルバーを決定するには,試してみることが必要です。詳細は,ソルバーの選択基準を参照してください。

  • 最適なソルバーは,許容可能な精度と最短のシミュレーション時間の間でバランスをとることができます。

  • 金宝app仿真软件ソフトウェアでは,連続ソルバーを指定した場合でも,状態をもたないモデルまたは離散状態しかもたないモデルに対して離散ソルバーが使用されます。

  • ステップサイズを小さくすると精度が高まりますが,シミュレーション時間は長くなります。

  • nの値が大きくなるほど,颂歌nの計算の複雑度は高くなります。

  • 計算の複雑度が高くなると,結果の精度も高まります。

依存関係

[ode1(欧拉))[ode2(蔚))[颂歌3 (Bogacki-Shampine)][ode4(龙格库塔)](ode 5 (Dormand-Prince))[ode 8(Dormand Prince RK8(7))]または[離散(連続状態なし))の各固定ステップソルバーを選択すると,以下のパラメーターが有効になります。

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

  • 周期的なサンプル時間の制約

  • 各離散レートを個別のタスクとして扱う

  • データ転送に対するレート変換を自動的に取り扱う

  • 優先順位の値が高いほどタスクの優先順位が高いことを示す

[odeN(零交叉固定步长)]可変ステップ ソルバーを選択すると、以下のパラメーターが有効になります。

  • 最大ステップ サイズ

  • 積分法

[ode14x(外挿)]を選択すると、以下のパラメーターが有効になります。

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

  • 外挿の次数

  • ニュートンの反復回数

  • 周期的なサンプル時間の制約

  • 各離散レートを個別のタスクとして扱う

  • データ転送に対するレート変換を自動的に取り扱う

  • 優先順位の値が高いほどタスクの優先順位が高いことを示す

[ode1be(後退オイラー法)]を選択すると、次のパラメーターが有効になります。

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

  • ニュートンの反復回数

  • 周期的なサンプル時間の制約

  • 各離散レートを個別のタスクとして扱う

  • データ転送に対するレート変換を自動的に取り扱う

  • 優先順位の値が高いほどタスクの優先順位が高いことを示す

[離散(連続状態なし))可変ステップ ソルバーを選択すると、以下のパラメーターが有効になります。

  • 最大ステップ サイズ

  • データ転送に対するレート変換を自動的に取り扱う

  • 優先順位の値が高いほどタスクの優先順位が高いことを示す

  • ゼロクロッシングコントロール

  • 時間の許容誤差

  • 連続するゼロクロッシングの数

  • アルゴリズム

(数值(Dormand-Prince))[ode23 (Bogacki-Shampine))[113(亚当斯)]または[ode23s(stiff/Mod.Rosenbrock)]を選択すると、以下のパラメーターが有効になります。

  • 最大ステップ サイズ

  • 最小ステップ サイズ

  • 初期ステップ サイズ

  • 相対許容誤差

  • 絶対許容誤差

  • 形状の保存

  • 連続的な最小ステップ数

  • データ転送に対するレート変換を自動的に取り扱う

  • 優先順位の値が高いほどタスクの優先順位が高いことを示す

  • ゼロクロッシングコントロール

  • 時間の許容誤差

  • 連続するゼロクロッシングの数

  • アルゴリズム

[ode15s(刚性/NDF)][ode23t Mod.硬/梯形)]、または[ode23tb(硬/ TR-BDF2)]を選択すると、以下のパラメーターが有効になります。

  • 最大ステップ サイズ

  • 最小ステップ サイズ

  • 初期ステップ サイズ

  • ソルバーのリセットメソッド

  • 連続的な最小ステップ数

  • 相対許容誤差

  • 絶対許容誤差

  • 形状の保存

  • 最大次数

  • データ転送に対するレート変換を自動的に取り扱う

  • 優先順位の値が高いほどタスクの優先順位が高いことを示す

  • ゼロクロッシングコントロール

  • 時間の許容誤差

  • 連続するゼロクロッシングの数

  • アルゴリズム

コマンドライン情報

パラメーター:SolverNameまたは解算器
“VariableStepAuto”;“VariableStepDiscrete”;“ode45”;“ode23”;“ode113”;“ode15s”;“ode23s”;“ode23t”;“ode23tb”;“daessc”;“FixedStepAuto”;“FixedStepDiscrete”;“ode8”;“ode5”;“ode4”;“ode3”;“ode2”;“ode1”;“ode14x”
既定の設定:“VariableStepAuto

関連するトピック