gnuplot - 如何计算 csv 文件列中的条目数?

use*_*501 2 csv plot gnuplot function-fitting

我有一个包含函数拟合例程的 gnuplot 代码。

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

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

更多详情:

我使用的拟合命令是:

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

其中 N = integer_round_down(output_file_length / 100.0) - 在我的 gnuplot 脚本中手动替换 N 的值之前,我在计算器上手动计算。(好吧,除以 100,我是在脑子里做的,而不是在计算器上。)

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

Mig*_*uel 5

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

选项1:

N = floor(system("wc -l output.csv")/100.)
Run Code Online (Sandbox Code Playgroud)

选项 2:

stats output.csv
N = floor(STATS_records/100.)
Run Code Online (Sandbox Code Playgroud)