1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| external GAUS,TRAP
double precision y
y=TRAP(1,10,GAUS,1)
print *, y
end
double precision FUNCTION GAUS (T)
GAUS=EXP(T)
return
end
double precision FUNCTION TRAP (A,B,F,DX)
! A et B sont les bornes de l'intégrale
!F est la fonction à intégrer
!DX est le pas d'intégration
!N est le nombre de pas nécessaires
implicit none
integer N,I
double precision B,A,DX,F,X
N=(B-A)/DX-.5
TRAP=F(A)+F(B)/2.0
X=A
DO 10 I=1,N
X=X+DX
TRAP=TRAP+F(X)
10 CONTINUE
TRAP=TRAP*DX
RETURN
end |
Partager