몇 가지 변수를 계산하는 프로그램이 있는데이 변수는 출력 파일에 쓰고 있습니다.예기치 않은 값을 얻을 때 포트란이 끝나지 않습니까?
내 프로그램에서 내 공식에 대한 올바른 결과를 얻을 수 없을 때 종료되지 않을 수 있습니까?
dx=x(1,i)-x(nk,i)
dy=y(1,i)-y(nk,i)
dz=z(1,i)-z(nk,i)
call PBC(dx,dy,dz)
r2i=dx*dx+dy*dy+dz*dz
r2=r2+r2i
r2g0=0.0d0
r2gx=0.0d0
dx=x(1,i)-x(2,i)
call PBC(dx,dy,dz)
rspani=dsqrt(dx*dx)
do ii=1,nk-1
rx=x(ii,i)
ry=y(ii,i)
rz=z(ii,i)
do jj=ii+1,nk
dx=x(jj,i)-rx
dy=y(jj,i)-ry
dz=z(jj,i)-rz
call PBC(dx,dy,dz)
r21=dx*dx+dy*dy+dz*dz
r21x=dx*dx
r2g=r2g+r21
r2gx=r2gx+r21x
r2g0=r2g0+r21
rh=rh+1.0d0/dsqrt(r21)
rh1=rh1+1.0d0
ir21=dnint(dsqrt(r21)/dr)
p(ir21)=p(ir21)+2.0D0
dxs=dsqrt(r21x)
if(dxs.gt.rspani) rspani=dxs
end do
후 출력에 난 그냥이 변수 쓰기에 :
write(12,870)r2i,sqrt(r2i),r2g0,r2gx/(nk*nk)
을
내가 여기 내 관심의 변수가 계산됩니다 내 코드의 일부이며, 무엇을 명확히하기 위해
870 FORMAT (3 (f15.7,3x), f15.7)
x, y, z는 난수 생성기를 통해 전체적으로 생성됩니다.
문제점은 mc 뷰어를 사용할 때 내 출력에 올바른 값이 457 줄이고 한 줄이 "*********"인 것입니다. 그러면 출력이 올바른 것으로 계속됩니다 이 변수를 계산하는 12 단계 양식주기가 없다고합시다.
내 프로그램이 정확한 숫자를 얻을 수 있다는 것이 가능하고, 결과가 프로그램에 기록되지 않는 이유는 다음과 같습니다
그래서 제 질문은 기본인가?
또는 잘못된 출력 형식 또는 형식과 관련된 것으로 인해 발생했을 수 있습니까?
이 어떤 제안
'e' 중 하나를 나타내는 부동 소수점 숫자가 발생할 경우'f', D 문자열을 작성합니다 '오, 이제 정답으로 대답 해. –