最大y的gnuplot xvalue

时间:2014-04-01 15:08:45

标签: statistics gnuplot

我有一个由三列x,y1和y2组成的文件。我需要知道y2具有最大值的值。要找到y2的最大值很容易:

stats 'test2-EDB.dat' u 3

我知道y2在文件的第6779行有一个最大值

STATS_index_max = 6779.0

然而,我需要它在文件的第6779行的x值。你有什么建议吗?哪个最佳平台无关?

我在这里找到的解决方案(Reading dataset value into a gnuplot variable (start of X series))是:

at(file, row, col) = system( sprintf("awk -v row=%d -v col=%d 'NR == row {print $col}' %s", row, col, file) )
file="test2-EDB.dat" ; row=STATS_index_max ; col=1
c=at(file,row,col)

但是,我怀疑这个解决方案在Windows上也没有任何问题(不知道,我没有使用它)。

最诚挚的问候, 莱昂纳多

1 个答案:

答案 0 :(得分:3)

您可以使用every获取stats命令来获取x值:

stats 'test2-EDB.dat' u 3
stats 'test2-EDB.dat' u 1 every ::STATS_index_max::STATS_index_max
print sprintf("x-value is %e", STATS_max)