我想达到的目的是将每次计算的计算结果同时保存在一个文件的不同列中,每计算一次,就将计算结果保存在相应的列中,以下给出了主要的程序,但是最后得到的结果只有一列,查了一些资料,感觉是由于Fortran对数组的保存是有一定的优劣排序的,但是我还是想达到以上所述目的,请各位高手给予指点,感谢!
[Fortran] 纯文本查看 复制代码
open(10,file="result.dat") !!打开要保存的结果文件
do ii=1,npc !!进行npc次循环计算,假设npc=231
open(20,file='data.txt') !!data文件的结果在每次循环计算中是不断更新的,计算是子程序进行的,在此不显示
do i=1,ndc !!data文件中共有ndc个数据,假设ndc=500
read(20,*)data(i) !!读取data文件中的数据
result(i,ii)=data(i) !!ii控制不同的列,将每次循环计算的data数据存放在不同的列
enddo
close(20)
do i=1,ndc
write(30,31) result(i,ii) !!写入每次的data数据
31 format(231(<ndc>f16.7)) !!定义数据格式,并给定共231列
enddo
close(10)
|