www.pudn.com > Fortran.zip > JCPLX0.FOR, change:1994-06-10,size:1025b
EXTERNAL FJ,FCN
DIMENSION X(2),XX(2,4),F(4),A(2),B(2),C(2),D(2),W(2)
DIMENSION XT(2),XF(2)
DOUBLE PRECISION X,Z,XX,F,FJ,A,B,C,D,W,XT,XF
DATA X/2*0.0/
DATA A/2*0.0/
B(1)=1.0D+35
B(2)=B(1)
N=2
K=2
M=4
EPS=1.0E-30
ALPHA=1.3
CALL JCPLX(N,K,M,A,B,C,D,W,ALPHA,EPS,
* FJ,FCN,XX,F,X,Z,L,XT,XF)
WRITE(*,*)
WRITE(*,10) L
10 FORMAT(1X,'L=',I4)
WRITE(*,*)
WRITE(*,20)
20 FORMAT(7X,'X(1)',11X,'X(2)',11X,'F')
DO 30 I=1,M
30 WRITE(*,40) XX(1,I),XX(2,I),F(I)
40 FORMAT(1X,3D15.6)
WRITE(*,*)
WRITE(*,50) (I,X(I),I=1,N)
50 FORMAT(1X,'X(',I2,' )=',D15.6)
WRITE(*,60) Z
60 FORMAT(1X,'Z=',D15.6)
WRITE(*,*)
END
FUNCTION FJ(N,X)
DIMENSION X(N)
DOUBLE PRECISION X,FJ,S
S=-(9.0-(X(1)-3.0)*(X(1)-3.0))
S=S*X(2)*X(2)*X(2)/(27.0*SQRT(3.0))
FJ=S
RETURN
END
SUBROUTINE FCN(N,K,X,C,D,W)
DIMENSION X(N),C(K),D(K),W(K)
DOUBLE PRECISION X,C,D,W
C(1)=0.0
C(2)=0.0
D(1)=X(1)/SQRT(3.0)
D(2)=6.0
W(1)=X(2)
W(2)=X(1)+X(2)*SQRT(3.0)
RETURN
END