比较来自 3 个 dat 文件的数据
Compare data from 3 dat files
我正在尝试用 Fortran 90 编写一个代码,从 3 个不同的文件(称为 "data1.dat"、"data2.dat"、data3.dat”)读取数据。所有文件都已生成3列N行(行数根据其他代码而定),然后进行如下操作:
C(i)=(data1(i)-data2(i))/(data2(i)-data3(i))
当i
表示每个文件第二列的数据"i"
。
我知道如何读取文件,但不知道如何操作每个文件中的数据。
有什么想法吗?
我会指望你完成所有变量声明并打开所有文件。
我手边没有编译器,所以请在使用前验证我的语法。希望以下内容介于工作代码和伪代码之间:
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 格式。
希望这对您有所帮助。
我正在尝试用 Fortran 90 编写一个代码,从 3 个不同的文件(称为 "data1.dat"、"data2.dat"、data3.dat”)读取数据。所有文件都已生成3列N行(行数根据其他代码而定),然后进行如下操作:
C(i)=(data1(i)-data2(i))/(data2(i)-data3(i))
当i
表示每个文件第二列的数据"i"
。
我知道如何读取文件,但不知道如何操作每个文件中的数据。
有什么想法吗?
我会指望你完成所有变量声明并打开所有文件。
我手边没有编译器,所以请在使用前验证我的语法。希望以下内容介于工作代码和伪代码之间:
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 格式。
希望这对您有所帮助。