主要内容

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

金宝appの固定ステップソルバー

“固定ステップソルバー”では,シミュレーションの開始から終了まで一定の時間間隔でモデルを解きます。時間間隔のサイズは,ステップサイズとも呼ばれ,ステップのサイズは指定することもソルバーに選択させることもできます。一般に,ステップサイズを小さくすると結果の精度が向上しますが,同時にシステムのシミュレーションに要する時間が長くなります。

固定ステップ離散ソルバー

固定ステップ離散ソルバーは,固定されたステップサイズを現在の時間に加えることで,次のシミュレーションステップの時間を計算します。シミュレーション結果の精度と時間の長さは,シミュレーションに要するステップのサイズにより異なります。ステップサイズが小さいと,結果は精度が高くなりますが,シミュレーションに要する時間が長くなります。既定では仿金宝app真软件®でステップサイズが選択されますが,自分でステップサイズを選択することもできます。(汽车)(既定の設定)を選択し,モデルが離散サンプル時間をもつ場合は,仿金宝app真软件でステップサイズがモデルの基本サンプル時間に設定されます。あるいは,離散レートをもたない場合は,金宝app仿真软件はシミュレーションの開始時間と終了時間の差を50で除算した結果にサイズを設定します。

固定ステップ連続ソルバー

固定ステップ離散ソルバーのように固定ステップ連続ソルバーは,固定サイズのタイムステップを現在時間に加えることで次のシミュレーション時間を計算します。連続ソルバーは,これらの各ステップに対して数値積分を行い,モデルの連続状態の値を計算します。これらの値は,前のタイムステップにおける連続状態と現在のタイムステップと前のタイムステップとの中間点にある状態導関数(マイナーステップ)を使用して計算されます。

メモ:

金宝app仿真软件は,モデルに対して固定ステップ連続ソルバーを指定した場合でも,状態をもたない,または離散状態のみをもつモデルに対して固定ステップ離散ソルバーを使用します。

金宝app仿真软件が用意している2種類の固定ステップ連続ソルバーには,陽的ソルバーと陰的ソルバーがあります。

これらの2種類の相違点は,速度と安定性にあります。陰的ソルバーは,陽的ソルバーよりも多い計算がステップごとに必要になりますが,より安定しています。したがって,金宝app仿真软件の陰的固定ステップソルバーは,スティッフなシステムを解く場合,陽的固定ステップソルバーよりも優れています。陽的なソルバーと陰的なソルバーの比較については,陽的な連続ソルバーと陰的な連続ソルバーを参照してください。

陽的な固定ステップ連続ソルバー

陽的なソルバーは,状態と状態導関数の両方の現在値の陽的な関数として,次のタイムステップでの状態の値を計算します。固定ステップの陽的ソルバーは数学的に次のように表されます。

x n + 1 ) x n ) + h D x n )

ここでは,以下のとおりです。

  • xは状態。

  • Dxは状態導関数を推定するソルバー依存の関数。

  • hはステップサイズ。

  • nは現在のタイムステップ。

金宝app仿真软件には一連の陽的な固定ステップ連続ソルバーが用意されています。ソルバーは、モデルの状態導関数の計算に使用する特定の数値積分手法において異なります。次の表は、各ソルバーと、ソルバーが使用する積分手法の一覧です。この表では、最も複雑でないもの (ode1)から最も複雑なもの(ode8)まで,使用する積分手法の計算の複雑度の順にソルバーを示しています。

ソルバー 積分手法 精度の次数

ode1

オイラー法

1 次

ode2

修法

2 次

ode3

Bogacki-Shampine式

3 次

ode4

4次のルンゲ・クッタ(RK4)式

4 次

ode5

Dormand-Prince (RK5)式

5 次

ode8

Dormand-Prince RK8(7)式

8 次

これらのソルバーにはいずれも誤差制御メカニズムは備わっていません。したがって,シミュレーションの精度と時間の長さはソルバーによって取られるステップのサイズに直接依存します。ステップサイズを小さくすると,結果はより正確になりますが,シミュレーションに要する時間が長くなります。また,同じステップサイズであれば,ソルバーの次数が高いほどシミュレーション結果は正確になります。

モデルのソルバータイプとして固定ステップを指定する場合,仿金宝app真软件は既定でFixedStepAutoソルバーを選択します。自動ソルバーは,中程度の計算量で,連続状態と離散状態の両方を扱うことができる適切な固定ステップソルバーを選択します。離散ソルバーの場合と同様,モデルが離散レート(サンプル時間)をもつ場合は,仿真金宝app软件でステップサイズは既定の設定でモデルの基本サンプル時間に設定されます。モデルに離散レートがない場合は,金宝app仿真软件はシミュレーションの合計時間を50で除算した結果を自動的に使用します。その結果,ソルバーは,モデルの指定したサンプルレートで,金宝app仿真软件がモデルの離散状態を更新するために必要なシミュレーション時間ごとにステップを取ります。ただし,これは既定のソルバーがモデルの連続状態を正確に計算することを保証するものではありません。したがって,許容できる精度とシミュレーション時間の短縮の両方を実現するために,他のソルバーと異なる固定ステップサイズのどちらかまたは両方の選択が必要となる場合があります。

陰的な固定ステップ連続ソルバー

陰的なソルバーは,以下の式で示しているように,次のタイムステップでの状態を,現在のタイムステップでの状態と次のタイムステップでの状態導関数の陰関数として計算します。

x n + 1 ) x n ) h D x n + 1 ) 0

金宝app仿真软件には1つの陰的な固定ステップソルバーode14xが用意されています。このソルバーは,ニュートン法と現在の値の外挿を使用して,次のタイムステップでの状態の値を計算します。モデルの状態の次の値を計算するためにソルバーが使用する牛顿法の反復回数と外挿の次数を指定できます。固定ステップサイズ(基本サンプル時間)を参照してください。選択した反復回数が多く,外挿の次数が高いほど,精度は高くなりますが,ステップサイズごとの計算の負荷が大きくなります。

参考

関連するトピック