Calcul intégrale sur fortran

Fermé
suzanne13 - 7 sept. 2010 à 04:15
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 - 14 sept. 2010 à 04:08
Bonsoir,
j'ai programmé un programme sur fortran qui calcule une intégrale simple
il ne génère aucune erreur mais il donne toujours comme résultat 0.
svp aidez moi à détecter l'erreur je bloque
voici le programme:

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

merci d'avance
A voir également:

1 réponse

cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
Modifié par cchristian le 14/09/2010 à 04:12
Bonjour,

Pourquoi définis-tu B,A,DX,F,X en double precision ?
Apparemment ce sont des entiers: integer B,A,DX,F,X

En les déclarant integer j'obtiens y = 56995072 ce n'est peut-être pas le résultat escompté mais on passe dans la boucle DO, ce qui n'est pas le cas avec B, A, DX, F, X en double précision.

Cordialement.
Cchristian.
0