回 帖 发 新 帖 刷新版面

主题:在程序输入sqrt运行时出现 error

主程序如下:
            PROGRAM JUZ
    implicit real*8 (a-h,o-z)
           DIMENSION ener(500),M0(2,2),Mi(2,2),Mc(2,2),MF(2,1),M(2,1)
           DOUBLE PRECISION ener,M0,Mi,Mc,MF,M
           integer*4 i
    open(1, file='p_eig.dat')
          DATA M0/1.0,0.0,0.0,1.0/
    w=0.5
    N=500
    E1=-1.5D0
    E2=1.5D0
    E3=0.1D0
    do E=E1,E2,E3
    write(*,*) 'E=',E
    DO i=1,N
    call siteenergy(w,N,ener)
    Mi(1,1)=ener(i)-E
          Mi(1,2)=-1.0
    Mi(2,1)=1.0
    Mi(2,2)=0.0
      
    call BRMUL (M0,Mi,2,2,2,Mc)
    M0=Mc
    ENDDO
           ENDDO
    X=SQRT(2)
    MF(1,1)=X/2
    MF(2,1)=X/2
    call BRMUL (M0,MF,2,2,1,M)
    J=1
    DO I=1,2
    write(1,100) E,M(I,J)
100       format (1X,4D13.4)
    ENDDO
    close (1)
    END

运行时出现:Warning: Arguments' data types are incompatible with intrinsic procedure, assume EXTERNAL.   [SQRT]
Q=sqrt(2)
----------^
麻烦哪位高手指导一下!谢谢!

回复列表 (共4个回复)

沙发

sqrt(2.0d0)

板凳

X=SQRT(2)
改为:
X=SQRT(2.0_8)

3 楼


首先谢谢各位!
我问我们同学得到了解决
r=2
s=sqrt(r)

4 楼


主要原因是数据类型不对吧

我来回复

您尚未登录,请登录后再回复。点此登录或注册