我正在使用一个向step
添加值(dist
)的循环。将step
添加到dist
后,我想在以下计算中使用它,它提供值c
。然后,dist
和c
都应该在输出文件中彼此相邻的两列中列出。
如果我使用下面的代码,它至少可以在输出文件中列出dist
的值。
dist=0
do while (dist < rim)
dist=dist+step
c=0.5*(cl-cr)*erfc((dist)/(2*sqrt(t*d)))+cr
write(1,'(1f20.0)')dist*1E+06
enddo
如果我用下面的命令替换write命令,它将不会列出两个不错的列,但不知何故混合两者。
write(1,'(1f20.0,1f15.5)')dist*1E+06,c
这是一个与循环中写入命令的定位有关的问题,还是与告知写入值的格式有关?
答案 0 :(得分:1)
您应该在它们之间添加一个空格并重新检查:
write(*,'(F20.0,1X,F15.5)') dist*1E+06, c
还要考虑将结果写入文件的准确性。