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