我正在尝试从.wve文件中读取数据。但是有一些我无法找到的错误。
这是错误讯息: “在文件arbitime_T16_parts.for的第84行(单位= 30,文件='oji.wve') Fortran运行时错误:浮点读取时的错误值“
并且óji.wve'看起来像这样:
29981 .0100 1.0
-5.63983 -5.64221 -5.64460 -5.63959 -5.64150 -5.65437 -5.65652 -5.64579
-5.64102 -5.64150 -5.63983 -5.62433 -5.62695 -5.62934 -5.63649 -5.63363
-5.63625 -5.63673 -5.62958 -5.64341 -5.64984 -5.63601 -5.63601 -5.64436
-5.63721 -5.64436 -5.64245 -5.64412 -5.64650 -5.66176 -5.65294 -5.64054
-5.63888 -5.63578 -5.63721 -5.63959 -5.64531 -5.64460 -5.63911 -5.64007
-5.63840 -5.63816 -5.64174 -5.63411 -5.63053 -5.63578 -5.64269 -5.64293
-5.64770 -5.64698 -5.64078 -5.62362 -5.62982 -5.63578 -5.63649 -5.64388
-5.64221 -5.64150 -5.64460 -5.65008 -5.64698 -5.64555 -5.63864 -5.63458
-5.63673 -5.63888 -5.63482 -5.63649 -5.64221 -5.63792 -5.62672 -5.63172
-5.64531 -5.65080 -5.64388 -5.64174 -5.64007 -5.65032 -5.65533 -5.65747
-5.64817 -5.63244 -5.62910 -5.63554 -5.64364 -5.64603 -5.63530 -5.63530
.....................................................................
节目:
C READ EARTHQUAKE DATA
C
READ(30,*) NEND,DT,GAL
WRITE(6,*) NEND,DT,GAL
READ(30,2222) (Z(JJ),JJ=1,NEND)
2222 FORMAT(8F10.5)
CLOSE(30)
第84行是“READ(30,2222)(Z(JJ),JJ = 1,NEND)”
我尝试过不同的代码修改,但没有得到任何结果。任何帮助将不胜感激!
答案 0 :(得分:1)
格式(F10.5)
表示每个输入10个字符。但是你的文件每个数字有11个字符。因此,对于第5个数字,它会尝试获取它无法解释的9 -5.641
。
-5.63983 -5.64221 -5.64460 -5.63959 -5.64150 -5.65437 -5.65652 -5.64579
|--- 1---||--- 2---||--- 3---||--- 4---||--- 5---||--- 6---||--- 7---||--- 8---|
最简单的解决方案是改变
2222 FORMAT(8F10.5)
进入以下两个选项之一:
2222 FORMAT(8F11.5)
2222 FORMAT(8(F10.5,X))
或者您可以完全取消FORMAT
语句,只需输入
READ(30, *) (Z(JJ),JJ=1,NEND)