如何在Fortran中组织来自不同数据文件的数据

时间:2016-11-19 22:00:48

标签: fortran gnuplot fortran90

我使用Fortran 95,现在我遇到了如下问题:

  • 我有8个数据文件,每个文件有4列,它们由其他程序生成(每个文件包含不同初始条件集的微分方程解)。
  • 第4列是我的x变量,第2列是我的f(x)
  • 因此,我想要的只是创建一个包含9列的新文件(第一列中的x和其他列中每个文件的f(x)
  • 但是,每个文件对x(及其各自的f)都有不同的值,如1.10,1.30和1.40在一个,1.15,1.25和1.42在其他文件中。
  • 所以,我可以在x中选择一个“乐队”,如[1.00; 1.20],并在我的新文件中将此平均值写为x,然后运行{{ 1}}在这个乐队下面。

但我无法管理如何做到这一点。

1 个答案:

答案 0 :(得分:1)

我会尝试使用smooth csplines选项将文件绘制到临时文件中:

set format x "%10.3f"
set format y "%10.3f"

set xrange [...]
set samples ...

set table "temp1.dat"
plot 'file1.dat' using 4:2 smooth csplines
unset table

如果你可以使用样条插值,这是有效的。无法以csv格式打印线性插值点。你可能想学习一点Fortran(询问你是否需要它进行进一步的研究)来进行线性插值。或任何其他编程语言。

使用一个命令绘制所有文件,例如检查答案 Loop structure inside gnuplot?

然后,在linux上,您可以使用colrmpaste组合生成的数据。

cat temp1.dat | colrm 11 > x
cat temp1.dat | colrm 1 11 | colrm 12  > y1
cat temp2.dat | colrm 1 11 | colrm 12  > y2
...

paste x y1 y2 ... > combined.dat

根据需要调整常数。

同样,学习编程语言也可能有所帮助。