1
Alors, quand j'utilise la fonction log
dans mon code Fortran90 il jette l'erreur de compilation suivante:Erreur: déclaration Inclassable à (1) en utilisant le log() logarithme
newtonf90.f90:21:
f = ((x - 2.d0)**2) \xE2\x88\x92 log(x)
1
Error: Unclassifiable statement at (1)
Note: L'utilisation gfortran
Alors, quelle est l'erreur que je fais?
Le code entier:
implicit none
double precision p0,p,df,f,tol
integer imax,i
p0=1.d0
imax=70
tol=0.0001
do i=1, imax
p = p0 - f(p0)/df(p0)
write(2,*) i , p , dabs(p0-p)
if (dabs(p0-p) .lt. tol) stop
p0=p
enddo
stop
end program newton
function f(x)
implicit none
double precision x,f
f = ((x - 2.d0)**2) − log(x)
return
end function f
function df(x)
implicit none
double precision x,df
df=2*(x - 2.d0) - 1/x
return
end function df
Je suis curieux - quelle langue/clavier/éditeur est-ce qui permet à un tiret d'être accidentellement entré, au lieu du signe moins? –
Je suppose qu'un copier-coller accidentel est la source probable d'erreur. Lorsque vous passez le code via une page HTML ou un document pdf, cela peut se faire facilement. Un éditeur de texte brut n'a aucune raison de se plaindre d'un tiret. –