XLPack 7.0
XLPack 数値計算ライブラリ (C API) リファレンスマニュアル
読み取り中…
検索中…
一致する文字列を見つけられません

◆ pchia()

double pchia ( int  n,
double  x[],
double  f[],
double  d[],
int  incfd,
int  skip,
double  a,
double  b,
int *  info 
)

区分3次エルミート(または3次スプライン)補間関数の積分値

目的
本ルーチンは区分3次エルミート補間関数の任意区間における積分値を求める. 補間関数はpchim, pchic, pchsp または pchseにより求められた n, x[], f[] および d[]により定められる.
戻り値
求められた積分値.
引数
[in]nデータ点数. (n >= 2)
[in]x[]配列 x[lx] (lx >= n)
独立変数値. x[]の要素は昇順でなければならない.
[in]f[]配列 f[lf] (lf >= incfd*(n - 1) + 1)
関数の値. f[i*incfd]がx[i]に対応する値である (i = 0〜n-1).
[in]d[]配列 d[ld] (ld >= incfd*(n - 1) + 1)
微分係数の値. d[i*incfd]がx[i]に対応する値である (i = 0〜n-1).
[in]incfdf[] および d[] の要素間隔. (incfd >= 1)
[in]skip論理変数で, パラメータチェックを省略したいならばtrue(1)を, そうでなければfalse(0)を設定する. これにより, チェックが(pchim, pchic, pchsp あるいは pchseで)すでに終わっている場合に計算時間を節約することができる.
[in]a積分区間の下限.
[in]b積分区間の上限.
注 - [a, b]は必ずしも[x[0], x[n - 1]]の中になくてもよいが, その場合, 積分結果の精度がよくない可能性がある.
[out]info= 0: 正常終了
= -1: 入力パラメータ n の誤り (n < 2)
= -2: 入力パラメータ x の誤り (重複がある, または, 昇順でない)
= -5: 入力パラメータ incfd の誤り (incfd < 1)
= 1: aが区間[x[0], x[n-1]]の外にある
= 2: bが区間[x[0], x[n-1]]の外にある
= 3: 上記1, 2の両方
出典
SLATEC (PCHIP)