program prob_1
implicit real*8(a-h, o-z)
f(x) = x**2-cos(x)
df(x) = 2*x+sin(x)
x0 = 0, x1 = 1
do i = 1, 3
if (f((x0+x1)/2) < 0)
x0 = (x0+x1)/2
else
x1 = (x0+x1)/2
end do
print *,"x = ", x
end program
Run Code Online (Sandbox Code Playgroud)
我刚开始使用 Fortran 90。现在我使用的是 Code::blocks,但我不知道错误存在于哪一行。
我想问题是f((x0+x1)/2) < 0但实际上不知道真正的错误是什么。这里有什么问题?
fortran ×1