====== 台形公式による数値積分 ====== ===== 台形公式 ===== ^(1)^(2)^(3)^ |{{http://sstweb.ee.ous.ac.jp/seminor/Lesson_Fortran/L07/Fig/integ1.gif|}}|{{http://sstweb.ee.ous.ac.jp/seminor/Lesson_Fortran/L07/Fig/integ2.gif|}}| {{http://sstweb.ee.ous.ac.jp/seminor/Lesson_Fortran/L07/Fig/integ3.gif|}} | | $\displaystyle\sum_{i=0}^{N-1}f(x_i)\Delta x$ | $\displaystyle\sum_{i=1}^{N}f(x_i)\Delta x$ | $\displaystyle\sum_{i=0}^{N-1}\frac{f(x_i)+f(x_{i+1})}{2}\Delta x\\=\left\{\frac{f(x_0)}{2}+\sum_{i=1}^{N-1}f(x_i)+\frac{f(x_{N})}{2}\right\}\Delta x$ | ==== (1)の場合 ==== READ(5,*) N, A, B ! N, A, B を入力する DX = (B - A)/DFLOAT(N) ! DX を定義する SUM = 0.D0 ! SUM を初期化する DO I = 0, N - 1 ! I = 0 から I = N - 1 まで繰り返す X = A + DX*I ! X を定義する SUM = SUM + F(X) ! 関数値を SUM に加えていく END DO S = DX*SUM ! 積分値を計算する WRITE(6,*) 'Integrated value=',S ! 出力する