k_adpint

    適応的自動積分を用いて,\([a,b]\) を積分区間とする定積分 \(I=\int_a^b f(x)\,dx \) を計算する倍精度サブルーチン.
     
  • サブルーチン名: k_adpint
  • 呼び出し方:call k_adpint(func, aval, bval, eps, qold, qnew, nc)
  • 引 数:
  • 引数
    意 味
    入出力の区分
    備 考
    func 被積分関数 \(f(x)\) の関数副プログラム名 入力 倍精度実数型
    aval 積分区間の下限 \(a\) 入力 倍精度実数型
    bval 積分区間の上限 \(b\) 入力 倍精度実数型
    eps 適応的自動積分の収束判定子.相対誤差の許容限界を与える. 入力 倍精度実数型
    qold 作業変数 入出力 倍精度実数型
    qnew 数値積分値 出力 倍精度実数型
    nc 本ルーチンが再帰的に呼び出された回数を表す変数.nc=0として呼び出さねばならない. 入出力 整数型

     
  • 注 意:
    1. サブルーチンk_adpintを呼び出す際には,funcが外部手続きであることを示すために,external宣言をしなければならない.
      (例)
      …
      real(8)::aval, bval, eps, qold, vval
      integer::nc=0
      external::samples1
      …
      …
      call k_adpint(samples1, aval, bval, eps, qold, vval, nc)
      …
      …