问题描述:
求教个FORTRAN程序
嗯,就是计算如下的式子:
以下是我编的程序,在I,J均是正数的时候算出来的结果与MATLAB的计算结果吻合,但是当I,J出现负数的时候结果即发散,试了很多种写法,都有类似的问题,所以来求教.
DOUBLE PRECISION FUNCTION JSC(I,J)
\x05COMMON /COEF/ PI
\x05DOUBLE PRECISION PI
\x05DOUBLE PRECISION K
IF(I.NE.0)THEN
\x05 IF(I.NE.J)THEN
\x05 IF(I.NE.-J)THEN
K=(1.0D0-(-1.0D0)**(I+J))/(I+J)+(1.0D0-(-1.0D0)**(I-J))/(I-J)
\x05 ELSE
\x05 K=0.0D0
\x05 ENDIF
\x05ELSE
\x05K=0.0D0
\x05ENDIF
\x05ELSE
\x05K=0.0D0
\x05ENDIF
\x05JSC=K/2.0D0/PI
RETURN
END
嗯,就是计算如下的式子:
以下是我编的程序,在I,J均是正数的时候算出来的结果与MATLAB的计算结果吻合,但是当I,J出现负数的时候结果即发散,试了很多种写法,都有类似的问题,所以来求教.
DOUBLE PRECISION FUNCTION JSC(I,J)
\x05COMMON /COEF/ PI
\x05DOUBLE PRECISION PI
\x05DOUBLE PRECISION K
IF(I.NE.0)THEN
\x05 IF(I.NE.J)THEN
\x05 IF(I.NE.-J)THEN
K=(1.0D0-(-1.0D0)**(I+J))/(I+J)+(1.0D0-(-1.0D0)**(I-J))/(I-J)
\x05 ELSE
\x05 K=0.0D0
\x05 ENDIF
\x05ELSE
\x05K=0.0D0
\x05ENDIF
\x05ELSE
\x05K=0.0D0
\x05ENDIF
\x05JSC=K/2.0D0/PI
RETURN
END
问题解答:
我来补答展开全文阅读