fnint
積分関数
構文
intgrf = fnint(f,value)
fnint(f)
説明
intgrf = fnint(f,value)
は、その説明が f
に含まれる "一変量" 関数の不定積分の説明です。積分は、関数の基本区間の左の端点が指定された value
(既定値 0) になるように正規化されます。
出力は入力と同じタイプです。すなわち、両方が pp 型または両方が B 型になります。fnint
は有理スプラインと st 型の関数のいずれでも機能しません。
fnint(f)
は fnint(f,0)
と同じです。
"多変量" 関数の不定積分は、座標方向でのみ、fnder
(f,dorder)
(dorder
は非正のエントリをもつ) を介して使用できます。
例
ステートメント diff(fnval(fnint(f),[a b]))
は、f
によって記述された関数の区間 [a
.. b
] に対する定積分を提供します。
f
が pp 型または最後の節点の多重度が十分に高い B 型の場合、丸め誤差を除き、f
と fnder(fnint(f))
は同じです。
f
が pp 型で、fa
が基本区間の左の端点にある f
内の関数の値である場合、f
によって表記される関数にジャンプ不連続点がない限り、丸め誤差を除き、f
と fnint(fnder(f),fa)
は同じです。
f
が B 型の f を含んでおり、t1 が左端の節点の場合、丸め誤差を除き、fnint(fnder(f))
には B 型の f – f(t1) が含まれます。ただし、左端の節点の多重度が 1 つ減ります (最初の多重度が 1 より大きい場合)。また、右端の節点は、f 内の B 型の f
の右端の節点がそうでない場合でも、完全多重度をもちます。
この最後の事実についての説明は次のとおりです。sp = spmak([0 0 1], 1)
のスプラインは、基本区間 [0
..1
] では、0 で 1、1 で 0 の直線です。ここで、その導関数 spdi = fnint(fnder(sp))
を積分します。確認できるとおり、spdi
のスプラインの基本区間は同じですが、その区間では 0 で 0、1 で -1 の直線に一致します。
例については、「Intro to B-form」および「Intro to ppform」を参照してください。
アルゴリズム
B 型の場合、積分の式 [PGS; (X.22)] が使用されます。