2

我有一个 gnuplot 代码,其中包括一个函数拟合例程。

当必须拟合大量数据点时,此例程很慢。我的输入文件中的数据点数量是可变的,具体取决于我正在运行的一些模拟的参数。

我希望只适合 100 分。到目前为止,我一直在通过手动计算输入文件中的条目数并除以 100 并将结果数用作拟合命​​令的“每个 N”命令来执行此操作。

更多详情:

我正在使用的拟合命令是:

fit f(x) "output.csv" every N using 1:4:9 via a,b

其中 N = integer_round_down(output_file_length / 100.0) - 我在计算器上手动计算这个值,然后在我的 gnuplot 脚本中手动替换 N 的值。(好吧,除以 100,我是在脑海中计算的,而不是在计算器上。)

有什么方法可以让我获得任何列中的条目数,例如 col 1、col 4 或 col 9 ... 然后在我的脚本中使用变量来计算 N,而不必每次更改我的模拟时编辑我的脚本参数?

4

1 回答 1

5

您可以通过电话使用评论中提供的解决方案system(),或使用stats

选项1:

N = floor(system("wc -l output.csv")/100.)

选项 2:

stats output.csv
N = floor(STATS_records/100.)
于 2015-06-12T13:26:08.207 回答