ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

odeset

常微分方程式ソルバーに入力する options 構造体の作成または変更

構文

options = odeset('name1',value1,'name2',value2,...)
options = odeset(oldopts,'name1',value1,...)
options = odeset(oldopts,newopts)
odeset

説明

関数 odeset は、以下の ODE ソルバーの積分パラメーターを調整します。

完全陰的微分方程式を解く場合は、以下を使用します。

ode15i

初期値問題を解く場合は、以下を使用します。

ode23, ode45, ode113, ode15s, ode23s, ode23t, ode23tb

積分パラメーターの詳細は、以下を参照してください。

options = odeset('name1',value1,'name2',value2,...) は、ODE ソルバーの引数として渡す options 構造体を作成します。出力される構造体 options 内で、名前を付けられたプロパティは、指定された値をもちます。たとえば、'name1' は、値 value1 をもちます。指定していないプロパティは既定値になります。なお、プロパティ名の先頭の数文字を入力するだけで、プロパティを特定することができます。プロパティ名は、大文字、小文字を区別しません。

options = odeset(oldopts,'name1',value1,...) は、既存の options 構造体 oldopts を変更します。options は、既存の構造体 oldopts と等しく、名前と値のペアで指定された oldopts 内の値を上書きし、構造体に新しいペアを追加します。修正された構造体は、出力引数に返されます。

options = odeset(oldopts,newopts) は、既存の options 構造体 oldopts と、新しい options 構造体 newopts を組み合わせます。新しい options で空行列でないプロパティが、oldopts の対応する options を書き換えます。

odeset に入力引数を指定しない場合は、すべてのプロパティ名を、既定値と使用可能な値と共に表示します。

ODE プロパティ

以下の節では、関数 odeset を使用して設定できるプロパティを説明します。使用可能なプロパティは、ユーザーが使用する ODE ソルバーによって異なります。プロパティには、いくつかのカテゴリがあります。

    メモ:   このリファレンス ページは、MATLAB® Version 7 の ODE プロパティに関する説明です。Version 5 のプロパティは、下位互換性のみサポートされています。Version 5 のプロパティに関する情報は、MATLAB コマンド ラインで次を入力してください。 more on, type odeset, more off.

誤差制御プロパティ

ソルバーは、各ステップで、解の i 番目の要素のローカル誤差 e を評価します。この誤差は、指定された相対誤差 RelTol と絶対誤差 AbsTol の関数の許容誤差以下でなければなりません。

|e(i)| max(RelTol*abs(y(i)),AbsTol(i))

ルーチンの問題で、ODE ソルバーは、ユーザーが要求した精度とほぼ同じ精度を設定します。ODE ソルバーは、"長い" 区間で積分する問題や不安定な問題では、精度を下げて設定します。問題が複雑だと、場合によっては、許容誤差を既定値より厳しくする必要があります。相対精度については、RelTol を調節します。絶対許容誤差では、解要素のスケーリングが重要になります。|y|AbsTol よりやや小さい場合、ソルバーは y の正しい桁を取得しないことがあります。場合によっては、解要素のスケーリングを検出するために、問題の解を複数回求めなければなりません。

したがって、大まかに言うと、しきい値 AbsTol(i) より小さいものを除いて、すべての解の要素は RelTol 程度の正確な桁数が必要です。小さい要素 y(i) が重要ではない場合でも、これより重要な要素を正確に計算できるように、AbsTol(i) を小さく指定して、y(i) の正しい桁を取得しなければなりません。

次の表で誤差制御プロパティを説明します。各プロパティの詳細は、表の下に記載されています。

プロパティ

説明

RelTol

正のスカラー {1e-3}

解ベクトル y のすべての要素に適用される相対許容誤差

AbsTol

正のスカラー、またはベクトル {1e-6}

解ベクトルの個々の要素に適用する絶対許容誤差

NormControl

on | {off}

解ノルムの相対誤差のコントロール。

誤差制御プロパティの説明

RelTol — この許容誤差は、各解要素のサイズの相対誤差です。おおまかに言うと、RelTol は、解要素がしきい値 AbsTol(i) より小さい場合を除いて、すべての解要素の正確な数値を制御します。

既定の設定 1e-3 は、0.1% の精度に対応します。

AbsTolAbsTol(i) は、i 番目の解要素の値が重要でないと見なされるしきい値です。絶対許容誤差は、解がゼロに接近するときの精度を定義します。

AbsTol がベクトルの場合、AbsTol の長さは、解ベクトル y の長さと同じでなければなりません。AbsTol がスカラーの場合、値は、y のすべての要素に適用されます。

NormControl — このプロパティを on に設定すると、norm(e) <= max(RelTol*norm(y),AbsTol) の範囲内で各積分ステップの誤差を制御するようにソルバーに要求できます。既定の設定では、ソルバーは誤差の制御に最も影響する要素を使用します。

ソルバー出力プロパティ

次の表は、ソルバーが生成する出力を制御する、ソルバー出力プロパティをまとめています。各プロパティの詳細は、表の下に記載されています。

プロパティ

説明

NonNegative

整数のベクトル

解ベクトルのどの要素が負である必要があるかを指定します。既定値は [] です。

OutputFcn

関数ハンドル

積分が成功したステップの後に毎回呼び出すソルバーの関数です。

OutputSel

インデックスのベクトル

解ベクトルのどの要素が出力関数に渡されるのかを指定します。

Refine

正の整数

Refine の因子に従って、出力点数を増加します。

Stats

on | {off}

計算に関する統計量をソルバーが表示するかしないかを指定します。既定の設定では、Statsoff です。

ソルバー出力プロパティの説明

NonNegativeNonNegative プロパティは、関数 ode23sode15i では使用できません。関数 ode15sode23tode23tb では、質量行列がある問題に NonNegative を使用できません。

OutputFcn — 出力関数を指定するには、'OutputFcn' を関数ハンドルに設定します。たとえば、

options = odeset('OutputFcn',@myfun)

上記は、'OutputFcn' に関数 myfun のハンドル @myfun を設定します。詳細は、function_handle のリファレンス ページを参照してください。

出力関数は、以下の形式でなければなりません。

status = myfun(t,y,flag)

「関数のパラメーター化」 では、必要に応じて関数 myfun に追加のパラメーターを指定する方法を説明しています。

ソルバーは、以下のフラグで指定された出力関数を呼び出します。呼び出し構文は、フラグにより異なるので注意してください。関数は適切に処理できるものでなければなりません。

フラグ

説明

init

ソルバーは積分する前に myfun(tspan,y0,'init') を呼び出し、出力関数を初期化するようにします。tspany0 は、ODE ソルバーへの入力引数です。

{[]}

ソルバーは、出力が要求される各積分ステップの後に、status = myfun(t,y,[]) を呼び出します。t は、ステップ間で生成された出力のポイントを含み、yt 内の点の数値解です。t がベクトルの場合、yi 列目は ti 番目の要素に対応します。

length(tspan) > 2 の場合、出力は tspan の各点で生成されます。length(tspan) = 2 の場合、出力は Refine オプションに従って生成されます。

myfun は、0 または 1status 出力を返さなければなりません。 status = 1 の場合、ソルバーは、積分を停止します。このメカニズムは、たとえば、Stop ボタンの実装に使用できます。

done

出力関数が不要なものを削除して積分を完了するとき、ソルバーは、myfun([],[],'done') を呼び出します。

このような一般的な目的で出力関数を使用するか、変更して独自の関数を作成できます。詳細は、コマンド ラインで 「help function」と入力してください。

  • 関数 odeplot — 時系列プロット (出力引数なしでソルバーを呼び出したときや、出力関数を指定しない場合の既定の設定)

  • 関数 odephas2 — 2 次元の位相面プロット

  • 関数 odephas3 — 3 次元の位相面プロット

  • 関数 odeprint — 計算しながら解を出力

    メモ:   出力引数なしでソルバーを呼び出した場合、ソルバーはすべての解の履歴を保存するための領域を割り当てません。

OutputSel — 出力関数に渡す解ベクトルの要素を指定するには、OutputSel を使用します。たとえば、出力関数 odeplot を使用し、1 番目と 3 番目の解要素のみをプロットする場合は、次のようにします。

options = ... 
odeset('OutputFcn',@odeplot,'OutputSel',[1 3]);

既定の設定では、ソルバーは、すべての解要素を出力関数に渡します。

RefineRefine1 の場合、各タイム ステップの終わりで、ソルバーは解を返します。Refinen >1 の場合、ソルバーは各タイム ステップを n 個の短い間隔に再分割し、各時点での解を返します。length(tspan)>2 の場合や、ODE ソルバーが解を構造体として返す場合、Refine は適用されません。

    メモ:   すべてのソルバーの中で、Refine の既定値は 1 です。しかし、関数 ode45 内では、ソルバーの大きなステップ サイズを保証するために、既定の設定は 4 です。これを変更し、関数 ode45 が選択したタイム ステップのみを参照するには、Refine1 に設定します。

Refine に作成される余分な値は、定式を連続的に拡張する手法で計算されます。大幅に計算時間を増加せずに、計算タイム ステップ間の正確な解を得るために、ODE は特殊な式を使用します。

Stats — 既定の設定では、Statsoff です。これが on の場合、問題を解いた後、ソルバーは以下を表示します。

  • 成功したステップの数

  • 失敗した計算回数

  • f(t,y) を評価するために ODE 関数が呼び出された回数

関数 ode23sode23tode15sode15i を含む陰的メソッドに基づくソルバーは、以下も表示します。

  • 偏導関数行列 f/∂x が作成された回数

  • LU 分解の回数

  • 線形システムの解の数

ステップ サイズのプロパティ

ステップ サイズのプロパティは、ソルバーが問題の規模を認識することを助け、計算する最初のステップ サイズを指定します。また、以降のステップのサイズに制限を指定できます。

次の表でステップ サイズのプロパティを説明します。各プロパティの詳細は、表の下に記載されています。

プロパティ

説明

InitialStep

正のスカラー

推奨する初期ステップ サイズ。

MaxStep

正のスカラー {0.1*abs(t0-tf)}

ソルバー ステップ サイズの上限。

ステップ サイズのプロパティの説明

InitialStepInitialStep は、ソルバーが試行する最初のステップ サイズの大きさの上限を設定します。InitialStep を設定しない場合、初期ステップ サイズは、初期時間 tspan(1) の解の勾配に基づいて決められ、解要素の勾配がゼロの場合は、ステップ サイズをより大きくしてこの手順を実行します。この処理が行われることをユーザーが認識している場合や、ソルバーが積分ステップのはじめに重要な動作を解くことを確認したい場合は、適切な InitialStep を提供すると、コードの開始が効率的になります。

MaxStep — 微分方程式の係数または解に周期性がある場合、MaxStep を周期の分数 (1/4 のように) に設定するとよい可能性があります。このように設定すると、ソルバーによるタイム ステップの拡大が大きくなりすぎず、目的の周期でステップされるようになります。以下のいずれかの目的で MaxStep を小さくしないでください。

  • 出力点を増加するため。これは、計算時間が大幅に遅くなる可能性があります。その代わりとして、Refine を使用し、追加の出力を大幅に低いコストで連続的に拡張して計算できます。

  • 解の正確さが十分でないことがあるため。その代わりとして、相対許容誤差 RelTol を減少し、絶対許容誤差ベクトル AbsTol の適切な値を決定して計算した解を使用してください。許容誤差プロパティの詳細は、「誤差制御プロパティ」を参照してください。

  • シミュレーション中に一度だけ発生するいくつかの動作が、ソルバーで飛ばされないようにするため。その変化が起きる時間が既知である場合、シミュレーション区間を 2 つに分割し、ソルバーを 2 回呼び出してください。その変化が起きる時間が未知である場合、許容誤差 RelTolAbsTol を減らしてみてください。MaxStep は、最後の手段として使用してください。

イベント位置プロパティ

いくつかの ODE 問題では、ボールが地面に当たった時間や宇宙船が地球に戻る時間のように、特定のイベントの時間が重要です。ODE ソルバーは、問題を解いているときに、ユーザー定義関数のゼロへの移行、ゼロからの移行、またはゼロを介した移行を見つけることで、このようなイベントを検出できます。

次の表で Events プロパティを説明します。各プロパティの詳細は、表の下に記載されています。

ODEのイベントのプロパティ

文字列

説明

Events

関数ハンドル

複数のイベント関数を含む関数のハンドル。

イベント位置プロパティの説明

Events — 関数は、次の形式を取ります。

[value,isterminal,direction] = events(t,y)

valueisterminal、および direction は、i 番目のイベント関数に対応する i 番目の要素のベクトルです。

  • value(i) は、i 番目のイベント関数の値です。

  • 積分が、このイベント関数の零点で終了する場合は、isterminal(i) = 1 に、その他の場合は、0 になります。

  • イベント関数が増加部分でも減少部分でもゼロになる場合は (既定の設定)、direction(i) = 0、増加する部分でのみゼロになる場合は、+1、減少する部分でのみゼロになる場合は、-1 になります。

イベント関数を指定する場合やイベントが検出される場合、ソルバーは 3 つの追加出力を返します。

  • イベントが起こる時間の列ベクトル。

  • これらの時間に対応する解の値。

  • イベント関数によって返されるベクトルのインデックス。値は、どのイベントをソルバーが検出したかを示します。

以下のようにソルバーを呼び出した場合を考えます。

[T,Y,TE,YE,IE] = solver(odefun,tspan,y0,options)

ソルバーは、これらの出力をそれぞれ TEYEIE として返します。以下のようにソルバーを呼び出した場合を考えます。

sol = solver(odefun,tspan,y0,options)

ソルバーは、これらの出力をそれぞれ sol.xesol.yesol.ie として返します。

イベント関数の使用例については、『MATLAB 数学』ドキュメンテーションの「イベント位置」「高度なイベント位置検出問題」を参照してください。

ヤコビ行列のプロパティ

スティッフな ODE ソルバーは、ヤコビ行列 (微分方程式を定義する関数の偏導関数行列) ∂f/∂y に追加情報を与えた場合、計算が速くなることがよくあります。

ヤコビ行列プロパティは、ヤコビ行列 ∂f/∂y が信頼性と効率性に影響を与えるスティッフな問題のソルバー (ode15s, ode23sode23tode23tb、および ode15i) のみに関連します。Jacobian を計算する関数を与えない場合、これらのソルバーは、有限差分を使用して数値的にヤコビを近似します。この場合、Vectorized または JPattern プロパティを使用する可能性があります。

次の表で、関数 ode15i を除くすべての陰的ソルバーのヤコビ行列プロパティを説明します。各プロパティの詳細は、表の下に記載されています。関数 ode15i 固有の情報は、「関数 ode15i のヤコビ行列のプロパティ」を参照してください。

関数 ode15i を除くすべての陰的ソルバーのヤコビ行列のプロパティ

プロパティ

説明

Jacobian

関数ハンドル | 定数行列

行列またはヤコビを計算する関数

JPattern

{0,1} のスパース行列

スパース ヤコビ行列を数値的に生成

Vectorized

on | {off}

ソルバーが必要な関数計算数を減らせるようにする

ヤコビ行列のプロパティの説明

Jacobian — 数値的なヤコビを与え、しばしばスティッフな問題の解の信頼性を上げ、計算を高速にします。このプロパティを関数 FJac に設定 (ここで、FJac(t,y) は ∂f/∂y を計算) するか、または∂f/∂y の定数値に設定します。

ヤコビ行列は、『MATLAB 数学』ドキュメンテーションの「van der Pol 方程式 (スティッフ)」の説明に従って、次のようにコード化できます。

function J = vdp1000jac(t,y)
J = [  0                   1
     (-2000*y(1)*y(2)-1)  (1000*(1-y(1)^2)) ];

JPatternJPattern は、ヤコビ内の非ゼロ要素の可能性がある 1 のスパース パターンです。

    メモ:   Jacobian を指定した場合、ソルバーは JPattern の設定を無視します。

f(t,y) の要素 i が y の要素 j に依存する場合は、S(i,j) = 1 として、それ以外の場合は 0 として、このプロパティをスパース行列 S に設定します。ソルバーは、このスパース パターンを使用して、スパース ヤコビ行列を数値的に生成します。ヤコビ行列が大規模でスパースな場合、これは大幅に実行を高速化します。JPattern プロパティの使用例は、『MATLAB 数学』ドキュメンテーションの「大規模でスティッフなスパース問題」を参照してください。

VectorizedVectorized プロパティにより、ソルバーはヤコビ行列のすべての列の計算に必要な関数計算回数を減らすことができ、計算時間を大幅に減らす可能性があります。

F(t,[y1 y2 ...])[F(t,y1) F(t,y2) ...] を返せるようにこのプロパティを、on に設定して、ODE 関数 F のコード化が完了したという情報をソルバーに与えます。これにより、ソルバーはヤコビ行列のすべての列の計算に必要な関数計算回数を減らすことができ、計算時間を大幅に減らす可能性があります。

    メモ:   Jacobian を指定した場合、ソルバーは 'Vectorized''on' の設定を無視します。

MATLAB の配列表記により、一般的に ODE 関数のベクトル化は簡単に行えます。たとえば、添字にコロン表記を採用し、配列のべき乗 (.^) と配列の乗算 (.*) の演算子を使用して、『MATLAB 数学』ドキュメンテーションで説明している「van der Pol 方程式 (スティッフ)」をベクトル化できます。

function dydt = vdp1000(t,y)
dydt = [y(2,:); 1000*(1-y(1,:).^2).*y(2,:)-y(1,:)];

    メモ:   ODE ソルバーに使用される ODE 関数のベクトル化は、境界値問題 (BVP) のソルバー bvp4c に使用されるベクトル化とは異なります。ODE ソルバーでは、ODE 関数は 2 番目の引数だけをベクトル化します。一方で、bvp4c は、1 番目と 2 番目の引数にベクトル化を必要とします。

次の表で、関数 ode15i のヤコビ行列プロパティを説明します。

関数 ode15i のヤコビ行列のプロパティ

プロパティ

説明

Jacobian

関数ハンドル | 定数のセル配列

Jacobian を計算する関数または定数のセル配列

JPattern

{0,1} のスパース行列

スパース ヤコビ行列を数値的に生成

Vectorized

on | {off}

ODE 関数のベクトル化

ode 15i のヤコビ行列のプロパティの説明

Jacobian — 数値的なヤコビを与え、しばしばスティッフな問題の解の信頼性を上げ、計算を高速にします。このプロパティは関数に設定します。

[dFdy,dFdp] = Fjac(t,y,yp)

または定数のセル配列 [∂F/∂y,(∂F/∂y)'] に設定します。

JPatternJPattern は、ヤコビ内の非ゼロ要素の可能性がある 1 のスパース パターンです。

このプロパティを ∂F/∂y および ∂F/∂y' のスパース パターンである {dFdyPattern,dFdypPattern} にそれぞれ設定します。

Vectorized

このプロパティを {yVect, ypVect} に設定します。yVect'on' に設定すると、

F(t, [y1 y2 ...], yp) 

は、以下を返します。

[F(t,y1,yp), F(t,y2,yp) ...]

ypVect'on' に設定すると、

F(t,y,[yp1 yp2 ...])

は、以下を返します。

[F(t,y,yp1) F(t,y,yp2) ...]

質量行列と DAEのプロパティ

この節では、質量行列と微分代数方程式 (DAE) のプロパティを説明します。これは、関数 ode15i を除くすべてのソルバーに適用します。これらのプロパティは、関数 ode15i に適用できません。また、これらの設定は関数 ode15i の動作に影響を与えません。

ODE のソルバーは、以下の形式の ODE を解くことができます。

(1-3)

質量行列 M(t,y) は、スパースでもかまいません。

M(t,y) が特異でない場合、上記の式は y′ = M–1 f(t,y) と等価です。そして ODE は t0 において初期値 y0 の解をもちます。より一般的な式 (式 1-3) は、モデルを質量行列を自然に表現する場合に便利です。大規模でスパースな M(t,y) では、式 1-3 を直接解くことで、問題を解くのに必要な実行時間や保存領域を減らせます。

M(t,y) が特異な場合M(t,y) の M(t,y)y′ = f(t,y) 倍は DAE です。DAE が解をもつのは、y0 が定数のときのみです。すなわち、M(t0,y0)yp0 = f(t0,y0) であるような初期勾配 yp0 が存在する場合です。y0 と yp0 が定数でない場合、ソルバーはこれらを推定値として処理し、推定値に近い矛盾しない値の計算を試し、問題を解き続けます。インデックス 1 の DAE では、矛盾しない初期条件で初期値問題を解くことは、ODE を解くことによく似ています。

ソルバーの関数 ode15sode23t は、インデックス 1 の DAE を解くことができます。DAE 問題の例については、『MATLAB 数学』ドキュメンテーションの「微分代数方程式」と、「amp1daeamp1dae」および「hb1daehb1dae」の例を参照してください。

次の表で質量行列と DAEのプロパティを説明します。各プロパティの詳細は、表の下に記載されています。

質量行列と DAEのプロパティ (関数 ode15i 以外のソルバー)

プロパティ

説明

Mass

行列 | 関数ハンドル

質量行列または 質量行列 M(t,y) を計算する関数

MStateDependence

none | {weak} | strong

y の質量行列の依存性

MvPattern

スパース行列

∂(M(t,y)v)/∂y スパース パターン。

MassSingular

yes | no | {maybe}

質量行列が特異かどうかを示します。

InitialSlope

ベクトル  {ゼロ ベクトル}

矛盾しない初期勾配 yp0 を表現するベクトル。

質量行列と DAEのプロパティの説明

Mass — 式 の問題で、'Mass' を質量行列 M に設定します。式 の問題で、'Mass' を関数ハンドル @Mfun に設定します。ここで、Mfun(t,y) は質量行列 M(t,y) を評価します。ソルバー関数 ode23s は、定数の質量行列 M をもつ問題のみを解くことができます。関数 ode15s または ode23t を使用して DAE を解くと、M が対角行列 (半陰的 DAE) になるように、問題を定式化できる利点があります。

例については、『MATLAB 数学』ドキュメンテーションの「有限要素の離散化」、または fem2odebatonode を参照してください。

MStateDependence の問題で、このプロパティを none に設定してください。weakstrong は、どちらも M(t,y) を示しますが、weak は代数方程式を解く場合に近似して暗黙的ソルバーを使用します。

MvPattern — 任意の k に対して、M(t,y) の (i,k) 要素が y の 要素 j に依存している場合は S(i,j) = 1 として、そうでない場合は 0 として、このプロパティをスパース行列 S に設定します。MStateDependencestrong の場合、ソルバーの関数 ode15sode23tode23tb と共に使用します。例については、「burgersodeburgersode」を参照してください。

MassSingular — 質量行列が特異でない場合は、このプロパティを no に設定し、関数 ode15s または関数 ode23t のいずれかのソルバーを使用します。maybe の既定値では、M(t0,y0) が特異であるかどうかを調べて、ソルバーは問題が DAE であるかどうかをテストします。

InitialSlope矛盾しない初期勾配 を表現するベクトルです。ここで、yp0 は、 の関係を満たします。既定の設定はゼロ ベクトルです。

このプロパティは DAE を解く場合、ソルバー関数 ode15s および ode23t と共に使用します。

関数 ode15s と ode15i に固有のプロパティ

関数 ode15s は、スティッフな問題の可変次数ソルバーです。これは、数値微分方程式 (NDF) に基づきます。NDF は、後退差分方程式 (BDF) (Gear 法とも呼ばれる) と密接な関係があるものよりも一般的に効率的です。関数 ode15s のプロパティは、方程式に指定する最大次数と同じように、これらの方程式を選ぶことができます。

関数 ode15i は、可変次数 BDF 法を使用して、次の形式の完全陰的微分方程式を解きます。

を可変次数 BDF 法により解きます。

次の表で、関数 ode15sode15i に固有のプロパティを説明します。各プロパティの詳細は、表の下に記載されています。これらのプロパティは、関数 odeset を使用して設定します。

関数 ode15s と ode15i に固有のプロパティ

プロパティ

説明

MaxOrder

1 | 2 | 3 | 4 | {5}

解の計算に使用される方程式の最大次数

BDF (関数 ode15s のみ)

on | {off}

既定の NDF の代わりに BDF を使用するかの指定

関数 ode15s と ode15i に固有のプロパティの説明

MaxOrder — 解の計算に使用される方程式の最大次数

BDF (関数ode15s のみ) — 関数 ode15s が BDF を使用するように、BDFon に設定

NDF と BDF の両方において、次数が 1 と 2 の方程式は、A 安定です (安定領域は、左半複素平面のすべてを含む)。それより高次の方程式は、安定ではありません。次数が高いほど安定性は悪くなります。最も安定な方程式が使用されるように、MaxOrder を減らすと (たとえば 2 へ減らす)、より効率的に解けるスティッフな問題 (スティッフに振動する) のクラスがあります。

参考

| | | | | | | | |

この情報は役に立ちましたか?