回 帖 发 新 帖 刷新版面

主题:菜鸟求助一个简单问题

老师给了一个fortran计算程序  好像是挺老的  我在95编译器里面运行出了点小问题 
希望各位高手帮忙看看  
错误是:error 328 - The first argument (X) to the intrinsic DSIN must be of REAL(KIND=2) type, not REAL(KIND=1)  
好几行都是这样的错误  我把那几行复制在下面 
          ai1=dble(atan(tan(ai0)/cos(aa0)))
          b1=dsin(ail)/dsin(ai0)
          bb=dsqrt(1.d0-dble(dcos(ai0)*dsin(aa0))**2)
          ccc=0.5*((dcos(aa0))**2-1)
          cccc=1-(dsin(aa0))**2*(dcos(ai1))**2
          write(*,*) b1,bb,ccc,cccc
          b3=dcos(aa0)
除了倒数第二行没问题  其他都是同样的问题  
我不太清楚是怎么回事了 
麻烦大家帮忙看下  
感谢~

回复列表 (共3个回复)

沙发


如果程序不大,建议把程序都贴出来。可能是变量定义出错。另外,诸如sin(5),最好写成sin(5.0)。

板凳

程序如下,感觉就应该是前几行的问题    非常感谢您的回复
          dimension afhg(200),afvg(200),afpg(200),h(200)
          double precision an,al1,al2,h,af,sum1,sum2,fh1,fh2
          double precision xr,xi,afv,afh,aft,afvg,afhg,afpg
          double precision afp,gcon,qr,ai1,ai0,sphi,cphi,a
          write(*,*) 'enter inputer file name'
          read(*,'(a)') infile
          write(*,*) 'enter output file name'
          read(*,'(a)') outfile
          open(unit=3,file=infile,status='old')
          open(unit=4,file=outfile,status='new')
          read(3,*)nprofile,dx,n,ai0,aa0,aj,dc,ifield,index
          read(3,*) (af(i),i=1,n)
          gcon=6.67e-7
          pi=3.1415927
          ai0=ai0*pi/180.0
          aa0=aa0*pi/180.0
          ai1=dble(atan(tan(ai0)/cos(aa0)))
          b1=dsin(ail)/dsin(ai0)
          bb=dsqrt(1.d0-dble(dcos(ai0)*dsin(aa0))**2)
          ccc=0.5*((dcos(aa0))**2-1)
          cccc=1-(dsin(aa0))**2*(dcos(ai1))**2
          write(*,*) b1,bb,ccc,cccc
          b3=dcos(aa0)
          b2=b1*b3
          b8=gcon*dc/aj
          sq=dsin(ai1)
          cq=dcos(ai1)
          ssq=dsin(ai0)
          ccq=dcos(ai0)
         
由于字符限制  剩下的没有贴出来  不知道前面这些能不能看出来错误  
再次感谢

3 楼

第一行没有复制  现在放上  不好意思
character *32 infile,outfile,area

我来回复

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