情報地球科学演習 (2024年前学期) 第11a回

今回のテーマ: 数値積分

台形則による数値積分 (その1')

「台形則」の最終的な表式である \[ \int_{a}^{b}f(x)dx ={h}\left[\frac{1}{2}f(a)+\sum_{i=1}^{N-1}f(x_i)+\frac{1}{2}f(b)\right] \] (ただし \(h=(b-a)/N\)) を用いて定積分の計算をしようとする際の、必要な手順 (の大部分) は以下の通り [みほん] 。 ただし例の如く、肝心なところは (わざと) 抜いている ので、各自で考えて埋めてほしい。

なお、このプログラム独特のミソは以下の通り。

program enshu12a                              
implicitnone
integer,parameter::kosuu=16
real,dimension(0:kosuu)::x,y
real,parameter::x_kaishi=0.0,x_shuryo=1.0
real::souwa,sekibun,dx
integer::i
dx=(x_shuryo-x_kaishi)/real(kosuu)
doi=0,kosuu
x(i)=x_kaishi+dx*real(i)
y(i)=1.0/(1.0+x(i)**2)
enddo
souwa=0.0
doi=1,kosuu-1
souwa=
enddo
souwa=souwa+0.5*(y(0)+y(kosuu))
sekibun=souwa*dx
write(*,*)kosuu,sekibun,sekibun*4.0
endprogramenshu12a

正しく動いていれば、だいたい以下のような出力が得られるはずである。

          16  0.785235405       3.14094162