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

◆ qk31_r()

void qk31_r ( double  a,
double  b,
double *  result,
double *  abserr,
double *  resabs,
double *  resasc,
double *  xx,
double  yy,
int *  irev 
)

有限区間の積分 (固定分点) (31点ガウス・クロンロッド則) (リバースコミュニケーション版)

目的
本ルーチンは
  I = [a, b]におけるfの積分値(誤差推定付き) および
  J = [a, b]におけるabs(f)の積分値
を求める. ここで, fは与えられた関数である. ユーザーは変数irevに従って必要なfの関数値を計算しなければならない.
積分は31点ガウス・クロンロッド則を用いて計算される.
引数
[in]a積分区間の下限.
[in]b積分区間の上限.
[out]result求められた I = [a, b]におけるfの積分値.
[out]abserr絶対誤差の推定値. 真の誤差に等しいかそれより大きい.
[out]resabs求められた J = [a, b]におけるabs(f)の積分値.
[out]resasc求められた [a, b]におけるabs(f - I/(b - a))の積分値.
[out]xxirev = 1〜5: 再呼び出し時に関数値を求めるべき点を返す.
[in]yyirev = 1〜5: 再呼び出し時に関数値f(xx)を与えること.
[in,out]irevリバースコミュニケーションの制御変数.
[in] 最初の呼び出し時に 0 に設定しておくこと. 2回目以降の呼び出し時には値を変更してはならない.
[out] 0 以外の場合, 下記処理を行いirevを変更せずに再び本ルーチンを呼び出すこと.
= 0: 処理終了.
= 1〜5: xxにおける関数値を求めyyに設定する. yy以外の変数を変更してはならない.
出典
SLATEC (QUADPACK)