ParametricNDSolve

ParametricNDSolve[eqns,u,{x,xmin,xmax},pars]

関数 u の常微分方程式 eqns の数値解を,独立変数 x(範囲は xminから xmaxまで),パラメータ pars で求める.

ParametricNDSolve[eqns,u,{x,xmin,xmax},{y,ymin,ymax},pars]

偏微分方程式 eqns を矩形領域上で解く.

ParametricNDSolve[eqns,u,{x,y}Ω, pars]

偏微分方程式 eqns を領域Ω上で解く.

ParametricNDSolve[eqns,u,{t,tmin,tmax},{x,y}Ω, pars]

時間依存偏微分方程式 eqns を領域Ω上で解く.

ParametricNDSolve[eqns,{u1,u2,},]

関数 uiを解く.

詳細とオプション

  • ParametricNDSolveは結果をParametricFunctionオブジェクトによって返す.
  • {pspec1,pspec2,}のパラメータ pars の指定を使って範囲を指定することができる.
  • pspeciの可能な形式
  • pp の範囲はRealsまたはComplexes
    Element[p,Reals]p の範囲はReals
    Element[p,Complexes]p の範囲はComplexes
    Element[p,{v1,}]p は離散範囲{v1,}を持つ
    {p,pmin,pmax}p の範囲は である
  • ParametricNDSolve[eqns,{u1,u2,},]では,uiは任意の式でよい.一般に,uiは微分方程式の解を通して間接的にパラメータに依存するが,パラメータに明示的に依存することもある.リストを返すParametricFunctionオブジェクトはParametricNDSolve[eqns,{{u1,u2,}},]またはParametricNDSolveValue[eqns,{u1,u2,},]を使って得ることができる.
  • パラメータについての結果のParametricFunctionオブジェクトの導関数は,可能な場合は数値感度メソッドと記号感度メソッドを組み合せて計算される.
  • ParametricNDSolveにはNDSolveと同じオプションと設定が使える.
  • NDSolveParametricNDSolveは,一般に,方程式のタイプによっていくつかの異なる段階に分けて微分方程式を解く.Method->{s1->m1,s2->m2,}とすると,段階 siがメソッド miで処理される.実際に使われる段階とその順序は,解く問題に基づいてNDSolveによって決定される.
  • 可能な解の段階はNDSolveのものに以下を加えたものである.
  • "ParametricCaching"計算された解をキャッシュする
    "ParametricSensitivity"パラメータについての導関数の計算
  • 全オプションのリスト

例題

すべて開くすべて閉じる

  (3)

yについてのパラメータ解を求める:

aの数値で評価するとyについての近似関数解が与えられる:

時間 で評価する:

パラメータのいくつかの異なる値についての解をプロットする:

における関数 f を与えるパラメータaの関数を得る:

f[10]の値をパラメータaの関数としてプロットする:

y[10]=0となるaの値を求める:

パラメータに対する微分方程式の解の感度を示す:

aについての感度はtとともに高くなる:

bについての感度はtとともに高くはならない:

スコープ  (5)

パラメータ依存  (3)

ParametricNDSolveParametricFunctionオブジェクトの代替オブジェクトを返す:

の解を得る:

の解をプロットする:

からまでの の値についての解をプロットする:

初期条件はパラメータとして指定することができる:

で,からまでの の値について, の解をプロットする:

で,からまでの の値について の解をプロットする:

微分方程式の係数と境界条件はパラメータとして指定できる:

からの範囲の の値に対して で,および で解をプロットする:

パラメータ感度  (2)

パラメトリック振幅 の古典的な調和振動子を解く:

についての解と, の近くの値のいくつかをプロットする:

についての の感度は定義 で与えられる.における感度をプロットする:

感度 についての解 の周りの帯としてプロットする:

複数のパラメータを持つ微分方程式の感度解析:

初期条件 , )について感度をプロットする:

初期条件 (, )について感度をプロットする:

一般化と拡張  (1)

WorkingPrecisionのさまざまな値について , を解き,誤差をプロットする:

オプション  (2)

Method  (2)

ParametricCaching  (1)

メモリを節約するために解をキャッシュしないようにする:

キャッシュしないと,必要となる唯一の余分なメモリは処理した方程式のためのものになる:

デフォルトでは直近の計算結果をキャッシュする:

キャッシュすると,必要なメモリ量がはるかに大きくなる:

ParametricSensitivity  (1)

感度は計算しないように指定する:

関数の計算が速くなる:

導関数は計算されていない:

アプリケーション  (10)

パラメータスイープ  (4)

微分方程式の解 となるような初期値 を求める:

で解を求める:

結果の解をチェックする:

パラメータsの近くの値と比較する:

境界値問題 , , のいくつかの解を求める.まず,可能な のいくつかの値について考える:

パラメータスイープを実行し,の自明ではない解の値を求める:

上記のグラフからの近似初期値を使う:

求まった解をプロットする:

を使い,についてのすべての固有値()と固有関数 を求める.可能なパラメータ値を探ることから始める:

の厳密値を求める:

それらをプロットする:

の解 から までの最短弧長になる の値を求める.まず,0から1までの の値についての解をプロットすることから始める:

を解の弧長に対してプロットする:

についての最短弧長解は にあるようである:

の近くに現れる極小値を求める:

(極小)弧長の対応する解を近くの解とともにプロットする:

パラメータ感度  (4)

微分方程式のパラメータに摂動を与え,結果のいくつかの摂動解を見る:

感度解をプロットすると,質的に同じ結果が与えられる:

振動する台座で安定化されている倒立振子のシミュレーションを行う:

振幅aについての の感度は時間とともに大きくなる:

熱方程式 , のパラメータ依存:

感度 および を求める:

対応する感度帯をプロットする:

解の曲面の色を変えることで a および c に対する感度を示す:

Lorenz方程式のパラメータに対する感度を求める:

パラメータフィッティング  (2)

微分方程式の解をサンプルとして取り,ノイズを加える:

三角法のモデルをノイズの多いデータにフィットする:

二次モデルの方がよくフィットする:

微分方程式の解がデータに最もよくフィットするパラメータを求める:

データは放熱器からのものなので,ニュートンの冷却法則を使う:

特性と関係  (1)

SystemModelParametricSimulateを使って大きい階層的系のモデルのシミュレーションを行う:

抵抗器とバネ減衰器のパラメータを2セット使ってシミュレーションを行う:

結果の角速度を比較する:

Wolfram Research (2012), ParametricNDSolve, Wolfram言語関数, https://reference.wolfram.com/language/ref/ParametricNDSolve.html (2014年に更新).

テキスト

Wolfram Research (2012), ParametricNDSolve, Wolfram言語関数, https://reference.wolfram.com/language/ref/ParametricNDSolve.html (2014年に更新).

CMS

Wolfram Language. 2012. "ParametricNDSolve." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/ParametricNDSolve.html.

APA

Wolfram Language. (2012). ParametricNDSolve. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ParametricNDSolve.html

BibTeX

@misc{reference.wolfram_2024_parametricndsolve, author="Wolfram Research", title="{ParametricNDSolve}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/ParametricNDSolve.html}", note=[Accessed: 24-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_parametricndsolve, organization={Wolfram Research}, title={ParametricNDSolve}, year={2014}, url={https://reference.wolfram.com/language/ref/ParametricNDSolve.html}, note=[Accessed: 24-November-2024 ]}