Fortran代码以记录方式读取格式化数据文件

时间:2018-03-09 13:55:23

标签: fortran

我从网上获得了一个用于K-means聚类的Fortran代码 由于我是Fortran的新手,我不知道代码所需的输入文件格式,如下所示。

如何根据此Fortran代码准备输入文件?

    infile1='D1_TR_all_cent63.dat'
    OPEN(1,FILE=infile1,form='formatted',access='direct',
 +  recl=429)

      istep=nvectors/nclusters
      DO i=1,nclusters

        READ(1,23,rec=istep*(i-1)+1)(vec(j),j=1,42)
        DO k=1,nelements 
         centroid(i,k)=vec(k)
        END DO
      END DO
 23     format(42(f10.3))

1 个答案:

答案 0 :(得分:0)

它正在寻找一个文件,其中每行包含42个字段,它们希望找到定点数。这是42(f10.3)中的format 声明。每个字段宽10个字符;虽然允许使用空格,但它们之间没有逗号或其他分隔符。

例如:

123456.789   123.123  -123.123 12345.678     0.000

(直到有42个)。

大多数FORTRAN实现在阅读时会有点怜悯:你可以省略一些小数点后的数字,或者在数字后面留一个空格(但你必须留在10个字符的字段中)。但并非所有人都这样做,所以最好在小数点之前准备输入6位数(包括符号,如果需要,允许使用空格),以及之后的数字。