错误:使用log()对数在(1)处的不可分类语句

时间:2017-09-07 10:44:30

标签: compiler-errors fortran gfortran

因此,当我在fortran90代码中使用log函数时,会抛出以下编译时错误:

newtonf90.f90:21:

f = ((x - 2.d0)**2) \xE2\x88\x92 log(x)
1
Error: Unclassifiable statement at (1)

注意:使用gfortran

那么,我犯的错误是什么?

整个代码:

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

1 个答案:

答案 0 :(得分:2)

“log”之前的字符不是减号。删除它并在其位置写一个正确的“ - ”。