www.pudn.com > Fortran.zip > JMAXN0.FOR, change:1994-06-10,size:721b
EXTERNAL FS
DIMENSION X(2)
DOUBLE PRECISION X,Z
DATA X/2*0.0/
EPS=0.000001
CALL JMAXN(X,2,FS,EPS,Z,K,L)
WRITE(*,*)
WRITE(*,60) L
DO 10 I=1,2
10 WRITE(*,20) I,X(I)
20 FORMAT(1X,'X(',I2,' )=',D13.6)
WRITE(*,*)
IF (K.EQ.1) THEN
WRITE(*,30) Z
ELSE IF (K.EQ.(-1)) THEN
WRITE(*,40) Z
ELSE
WRITE(*,50) Z
END IF
30 FORMAT(1X,'MAX:',5X,'Z=',D13.6)
40 FORMAT(1X,'MIN:',5X,'Z=',D13.6)
50 FORMAT(1X,'NOT',5X,'Z=',D13.6)
60 FORMAT(1X,'L=',I3)
END
SUBROUTINE FS(X,N,J,F)
DIMENSION X(N)
DOUBLE PRECISION X,F
F=(X(1)-1.0)*(X(1)-1.0)+(X(2)+2.0)*(X(2)+2.0)+2.0
IF (J.EQ.0) RETURN
IF (J.EQ.1) THEN
F=2.0*(X(1)-1.0)
ELSE
F=2.0*(X(2)+2.0)
END IF
RETURN
END