Fortran runtime error:Bad repeat count in item 2 of list input
Open(unit=17, file='d_R.dat', status='old')
x=x_min+INT(abs(-1.0-x_min_0)/d_x_0)*d_x_0
Do mx=INT(abs(-1.0-x_min_0)/d_x_0)+1, INT(abs(-1.0-x_min_0)/d_x_0)+N_x_0
read(17,*) x, d_R(mx)
End do
CLOSE(17)
Open(unit=3, file='Eigen_wave0.dat', status='old')
x=x_min+INT(abs(-1.0-x_min_0)/d_x_0)*d_x_0
Do mx=INT(abs(-1.0-x_min_0)/d_x_0)+1, INT(abs(-1.0-x_min_0)/d_x_0)+N_x_0
Read(3,*) x, RPsi6 !, IPsi6
IPsi6=0.0D0
Psi_xz_0(mx)=CMPLX(RPsi6,IPsi6)
Psi_xz_R(mx)=d_max(mx)*Psi_xz_0(mx)
Psi_xz(mx)=Psi_xz_R(mx)
norm_t=norm_t+d_x*ABS(Psi_xz_R(mx))**2
! Psi_x_t(mx,1)=Psi_xz_0(mx)
! RPsi_x_t(mx,1)=RPsi6
! IPsi_x_t(mx,1)=IPsi6
! RPsi_px_t(mx,1)=ZERO
! IPsi_px_t(mx,1)=ZERO
Enddo
CLOSE(17)
CLOSE(3)
CLOSE(16)
我想搞清楚出现这个错误的原因,以及如何改正,谢谢
这个重复了2次,检查下你的代码的具体错误情况。
"Fortran runtime error: Bad repeat count in item 2 of list input" 的错误通常是由于读取数据时出现了格式错误导致的。
在您这段代码中,第一个文件的读取是正确的,但是在第二个文件的读取中,由于没有指定读取数据的格式,系统会按照默认格式进行读取,但是如果默认格式与实际格式不一致,就会导致出现这种错误。因此,建议在读取数据时,根据实际情况指定数据的格式。例如:
read(3,*) x, RPsi6 !, IPsi6
在这个语句中,第一个星号表示按照默认格式读取数据,但是由于IPsi6这个变量没有被读取,因此可以直接注释掉。如果实际数据的格式与默认格式不一致,可以根据实际情况修改这个语句,例如:
read(3,*) x, RPsi6, IPsi6
这个语句表示按照格式"x RPsi6 IPsi6"读取数据,其中"x"表示忽略一个数据项,RPsi6和IPsi6表示读取两个实数变量。根据实际情况修改数据格式,可以避免出现这种错误。
如果以上回答对您有所帮助,望采纳~谢谢
bad integer for item....
这是读取文件出问题。比如想要读取数据到整型变量,但实际读取到了文件中的字母,就会这个报错。