SUBROUTINE TRAPZD(FUNC,A,B,S,N) IF (N.EQ.1) THEN S=0.5*(B-A)*(FUNC(A)+FUNC(B)) IT=1 ELSE TNM=IT DEL=(B-A)/TNM X=A+0.5*DEL SUM=0. DO 11 J=1,IT SUM=SUM+FUNC(X) X=X+DEL 11 CONTINUE S=0.5*(S+(B-A)*SUM/TNM) IT=2*IT ENDIF RETURN END