24小时热门版块排行榜    

查看: 575  |  回复: 0

jackwqh2010

铜虫 (初入文坛)

[求助] compaq Fortran 6.6 调用ImsL 子程序QDAGP

发现Fortran 调用QDAGP时,不能连续调用两次,否则就报错,代码如下:
INTEGER NOUT, NPTS
      REAL A, ABS, ALOG, B, ERRABS, ERREST, ERROR, ERRREL,
     & EXACT, F, POINTS(2), RESULT, SQRT
      INTRINSIC ABS, ALOG, SQRT
      EXTERNAL F, QDAGP, UMACH
C Get output unit number
      CALL UMACH (2, NOUT)
C Set limits of integration
      A = 0.0
      B = 3.0
C Set error tolerances
      ERRABS = 0.0
       ERRREL = 0.01
C Set singularity parameters
      NPTS = 2
       POINTS(1) = 1.0
       POINTS(2) = SQRT(2.0)
       CALL QDAGP (F, A, B, NPTS, POINTS, ERRABS, ERRREL, RESULT,
     & ERREST)

         CALL QDAGP (G, A, B, NPTS, POINTS, ERRABS, ERRREL, RESULT,
     & ERREST)
C Print results
       EXACT = 61.0*ALOG(2.0) + 77.0/4.0*ALOG(7.0) - 27.0
       ERROR = ABS(RESULT-EXACT)
c       ERROR1 = ABS(RESULT1-EXACT)
      WRITE (NOUT,99999) RESULT,EXACT, ERREST, ERROR
99999 FORMAT (' Computed =', F8.3, 13X,
     &' Exact =', F8.3, /, /,
     & ' Error estimate =', 1PE10.3, 6X, 'Error =', 1PE10.3)
C
      END
C
      REAL FUNCTION F (X)
      REAL X
      REAL ABS, ALOG
      INTRINSIC ABS, ALOG
       F = X**3*ALOG(ABS((X*X-1.0)*(X*X-2.0)))
       RETURN
      END
     


           REAL FUNCTION G (X)
      REAL X
      REAL ABS, ALOG
      INTRINSIC ABS, ALOG
       G = X**3*ALOG(ABS((X*X-1.0)*(X*X-2.0)))
       RETURN
      END

求大神解答原因,谢谢!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

找到一些相关的精华帖子,希望有用哦~

科研从小木虫开始,人人为我,我为人人
相关版块跳转 我要订阅楼主 jackwqh2010 的主题更新
信息提示
请填处理意见