2014-04-01 108 views
2

我有一個由三列x,y1和y2組成的文件。我需要知道y2的最大值。爲了找到最大Y2的很簡單:gnuplot x的最大值x

stats 'test2-EDB.dat' u 3 

從中我知道,Y2對文件

STATS_index_max = 6779.0 

不過的第六千七百七十九行最多,我需要它的x值該文件的第6779行。你有什麼建議嗎?哪個平臺獨立最佳?

,我已經在這裏找到(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(不知道,我不使用它)。

與問候, 萊昂納多

回答

2

可以使用everystats命令來獲取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) 
+0

非常感謝你,非常完美! – leonardo2887