本帖最后由 kyra 于 2024-5-16 10:28 编辑
朋友们,我想解(x-1)²的值,用WEGSTEIN法,但解出来结果是负的1.78x10的8次方,这儿的写法有什么错误吗
[Fortran] 纯文本查看 复制代码 program main
T=1.
C 这儿给个初值
K=0
10 K=K+1
F=T*T+4*T+4
C 公式
CALL WEGSTEIN(T,F,E,K)
IF(E.GT.1E-5) GOTO 10
WRITE(*,*)X
STOP
END program main
SUBROUTINE WEGSTEIN(X,FX,ERROR,K)
COMMON/ITER/X0,F0
IF(K.LE.1) THEN
DX=FX-X
ELSE
DX=(X-X0) * (FX-X)/(X-X0-FX+F0)
ENDIF
ERROR=ABS(DX)/(ABS(X)+1.)
X0=X
F0=FX
X=X+DX
RETURN
END
|