NumericalCalculus`
NumericalCalculus`
ND
詳細とオプション
- NDを使うためには,まず数値計算パッケージをロードしなくてはならない.それにはNeeds["NumericalCalculus`"]を実行する必要がある.
- 式 expr は,その引数 x が数値である場合は,数値でなければならない.
- ND[expr,x,x0]はND[expr,{x,1},x0]と等価である.
- NDは実際にはゼロとなるような小さい数を識別することができない.このような誤りの残余を排除するためにChopを使う必要があることがある.
- 次のオプションを与えることができる:
-
Method EulerSum 使用するメソッド Scale 1 変動が想定される大きさ Terms 7 使用される項の数 WorkingPrecision MachinePrecision 内部計算で使用する精度 - Methodに可能な設定は以下の通りである:
-
EulerSum 極限にリチャードソン(Richardson)補外を使う NIntegrate コーシー(Cauchy)の積分公式を使う - Method->EulerSumでは,NDは x0で expr を評価する必要がある.
- expr が x0 の近傍で解析的でないなら,デフォルトメソッドのEulerSumを使わなければならない.
- Method->EulerSumを使う場合,変動の尺度を得るためにオプションScale->s が使われる.
- 導関数の値が方向に依存する場合,デフォルトは右方向である.他の方向はオプションScale->s(方向が s)で選ぶことができる.
- オプションTerms->n は,Method->EulerSumを使う場合に外挿に使用する項の数を与える.
- Method->NIntegrateでは,式 expr は点 x0の近傍で解析的でなければならない.
- オプションScale->r はMethod->NIntegrateで使用する積分曲線の半径を指定する.
例題
すべて開くすべて閉じる例 (1)
一般化と拡張 (1)
NDは要素単位で縫い込まれる:
オプション (7)
Method (2)
expr が x0の近傍で解析的でない場合,デフォルトのMethod->EulerSumが使われる:
Method->NIntegrateでは誤った解が得られる:
この場合,式は解析的なので,Method->NIntegrateはうまく動作する:
Scale (3)
変動の領域を得るためにはScale->s を使う:
大きすぎるScale->s の値は,項の数を増やすことで補正される:
有向導関数の指定にはScaleを使う.非解析的関数の左および右の導関数:
オプションScaleを使うと,使用されるメソッドがNIntegrateの場合に,非解析性のある領域を避けることができる:
Terms (1)
WorkingPrecision (1)
Method->EulerSumの高次の導関数では,明らかな減法約分が起る:
次の問題では,Method->NIntegrateをデフォルトオプションで使うと正確な解が求められる:
WorkingPrecisionを増やすと,確度が向上する:
アプリケーション (1)
特性と関係 (3)
オプションMethod->NIntegrateでは導関数の計算にコーシーの積分公式が使われる:
NResidueを使っても同様の計算が実行できる:
Wolfram言語には数値関数の導関数を計算するためのコードが組み込まれている:
組込みの数値導関数コードを使うことができる.しかし,高速の振動を得ることはできない:
適切なオプションでNDを使うと,正確な導関数が計算できる:
Method->EulerSumでは,NDは点 x0において expr が評価できなければならない:
f に別の定義を加えることにより,NDは導関数が計算できるようになる:
この場合,Method->NIntegrateでより正確な解が得られる: