next up previous
: 課題 : 数値計算法概論:No.6 数値積分(Richardson 加速) : 台形公式の精度向上法:Richardson 補外

プログラム

積分の上限、下限と分割数を与えた時、台形公式で数値積分の結果を出すサブルー チンを利用すると、分割数を2の冪乗とした時の結果を出すプログラムは以下の ようになる。

c     Main routine
c
      implicit real*8 (a-h,o-z)
      dimension dInt(10,3)
c
      do m=1,6
         n=2**m
         dInt(m,1)=dIntegral(n,a,b)
      end do
c
      do m=1,6-1
         write(*,*) 2**m, dInt(m,1),dInt(m+1,1)-dInt(m,1)
      end do
      end
c
c
c     Integral routine(trapezoidal integral)
c
      real*8 function dIntegral(n,a,b)
      implicit real*8 (a-h,o-z)
      integer n,i
c
      ...........
      dIntegral=......
      return
      end
また、これを利用すると、Richardson 補外のプログラムができる。複数回 Richardson 補外を繰り返すには、subroutine 文を使うと有効である。



Kiyohide Nomura 平成15年6月6日