3 円の面積(数値積分の台形公式)

文関数を利用して円の面積を求める問題である。 この問題は、半径1の1/4円の面積を求めるものである。方法は、数値積分の 台形公式と言われるものである。積分なんて少し難しげであるが、要するに円 を台形で近似しているだけのことである。その様子を図1に示 す。
図 1: 円の面積の台形近似
\includegraphics[keepaspectratio, scale=1.00]{figure/daikei.eps}

円の半径( $ 0\le x \le 1$)をN等分して、N個の台形の面積を足し合わせること で台形の面積を求める。図から分かるように、最後の台形は三角形になるが、 これも上底がゼロの台形と考える。これから、台形の高さHは

$\displaystyle \texttt{H}=\texttt{1.0/N}$    

となる。FORTRANでこの高さを求めるためる前に、予めNの値は決めておく必要 がある。

台形の高さが求まったので、後は下底と上底の長さである。これは、下底およ び上底の$ x$座標と円の方程式から求めることができる。1/4円の方程式は、 $ y(x)=\sqrt{1-x^2}$である。この$ x$にそれぞれの座標を代入すれば、下底と 上底の長さが分かる。この円の方程式をFORTRANで表現する場合、文関数

$\displaystyle \texttt{Y(X)}=\texttt{SQRT(1.0-X*X)}$    

を用いるのが簡単である。このXに、下底や上底の$ x$座標を代入すれば、下底 や上底の長さが分かる。

台形はN個あるので、それぞれDO文によりループをまわして面積を計算するの が良い。DO文の指標にIを用いて、左からI番目の台形の面積を計算する。I番 目の下底の$ x$座標XLOWはと上底のそれをXHIGHとする。それぞれは、

  $\displaystyle \texttt{XLOW}=\texttt{(I-1)*H}$    
  $\displaystyle \texttt{XHIGH}=\texttt{I*H}$    

と計算できる。これから、下底および上底の長さは、

  $\displaystyle \texttt{下底の長さ}=\texttt{Y(XLOW)}$    
  $\displaystyle \texttt{上底の長さ}=\texttt{Y(XHIGH)}$    

と計算できる。これで、台形の面積が計算できるので、後は各人考えること。 プルグラム例は、以下の通り。
      PROGRAM EX_1_2_1
      INTEGER N,I
      REAL S,XHIGH,XLOW,H
      Y(X)=SQRT(1.0-X*X)

      N=100
      H=1.0/N

      S=0.0

      DO 10 I=1,N,1
        XLOW=(I-1)*H
        XHITH=I*H
        S=S+(Y(XHITH)+Y(XLOW))*H/2.0
   10 CONTINUE

      WRITE(6,600)N,4.0*S
  600 FORMAT('N = ',I4,4X,'S = ',F12.8)

      STOP
      END



ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成19年8月20日


no counter