Go to the first, previous, next, last section, table of contents.


数値積分(Numerical Integration)

積分問題の純粋な数値解が欲しい場合は、 a I (calc-num-integral) [ninteg] コマンドが使えます。 このコマンドはプロンプトを表示して、積分変数, 下限, 上限の入力を促します。 積分対象の式中に登場する変数群のうち、 積分変数以外は全て値がストアされて(確定して)いなければなりません。 (積分変数自体に何らかの値がストアされていたとしても無視されます。)

数値積分は、積分対象を積分区間内の多数の点で評価することにより実行されます。 Calc は "open Romberg" 法を用います。 この方法は、実は(例えば `sin(x)/x' がゼロから安全に積分できるように) 区間の両端で式評価を行いません。 またこの Romberg 法は、積分される関数がかなりなめらかな場合には、 特にうまく働きます。もしその関数がなめらかでなかったら、 Calc はかなり多数の点で関数を評価しなければ、積分の値を正確に決定できません。

数値積分は、計算精度を低くするほど高速になります。 a I を使う前に、有効桁数を許せる限り小さく設定すると良いでしょう。 あまりに時間がかかりそうなら、 C-g を押して止め、さらに低い計算精度を試してください。 それでもまだ遅いようなら、 積分する関数が積分区間内で行儀良く振舞うか確認してください。

積分区間の下限を `-inf' (−∞:負の無限大) とすることもできます。 同様に、上限は正の無限大でもかまいません。 Calc はそのような積分を等価な有限区間の積分に内部変換します。 しかしながら、特異点に至る積分や、特異点をまたぐ積分はサポートされていません。 `1/sqrt(x)' の 0 から 1 までの積分は存在します (例えば Calc の不定積分エンジンで解けます)が、 a I では区間の端で発散し、うまく行きません。


Go to the first, previous, next, last section, table of contents.     利用度数