比较3个dat文件中的数据

时间:2016-06-29 03:52:07

标签: fortran gfortran read-data

我正在尝试在Fortran 90中编写一个代码,该代码从3个不同的文件中读取数据(称为“data1.dat”,“data2.dat”,data3.dat“)。所有文件都由3列和N行(行依赖于另一个代码),然后执行以下操作:

C(i)=(data1(i)-data2(i))/(data2(i)-data3(i))

i表示每个文件第二列的数据"i"时。

我知道如何阅读文件,但我不知道如何操作每个文件中的数据。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我将依靠你完成所有变量声明并打开所有文件。

我手头没有编译器所以请在使用之前验证我的语法。希望以下内容充当工作代码和伪代码之间的东西:

OPEN (400, file='XXXX.YYY', status='UNKNOWN')

DO i = 1, NMAX
    READ(100, *) data1
    READ(200, *) data2
    READ(300, *) data3

    denom = data2 - data3

    IF (denom .EQ. 0.) STOP "Cannot Divide by zero"

    CCC = (data1-data2)/denom
    WRITE (400, *) CCC
ENDDO

每次只通过每个文件中的一行读入内存;然后计算CCC并将其写入输出文件。在下一次迭代中,程序将读取下面的行而不是从顶部开始。不需要数组。

最后记得要关闭你的文件。您可以在任何您认为合适的地方玩IO格式。

希望这会有所帮助。