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

gnuplot-如何计算csv文件列中的条目数?,csv,plot,gnuplot,function-fitting,Csv,Plot,Gnuplot,Function Fitting,我有一个gnuplot代码,其中包括一个函数拟合例程 当必须安装大量数据点时,此例行程序运行缓慢。输入文件中的数据点数量是可变的,这取决于我正在运行的某些模拟的参数 我只希望得到100分。到目前为止,我一直在通过手动计算输入文件中的条目数并除以100,然后将结果数用作fitting命令的“every N”命令 更多详情: 我正在使用的管件命令是: fit f(x) "output.csv" every N using 1:4:9 via a,b 其中N=integer\u round\u do

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

当必须安装大量数据点时,此例行程序运行缓慢。输入文件中的数据点数量是可变的,这取决于我正在运行的某些模拟的参数

我只希望得到100分。到目前为止,我一直在通过手动计算输入文件中的条目数并除以100,然后将结果数用作fitting命令的“every N”命令

更多详情:

我正在使用的管件命令是:

fit f(x) "output.csv" every N using 1:4:9 via a,b
其中N=integer\u round\u down(output\u file\u length/100.0)-我在计算器上手动计算,然后在gnuplot脚本中手动替换N的值。(好的,除以100,我在脑子里,而不是在计算器上。)


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

您可以通过调用
system()
使用注释中提供的解决方案,或者使用
stats

备选案文1:

N = floor(system("wc -l output.csv")/100.)
备选案文2:

stats output.csv
N = floor(STATS_records/100.)

不确定如何在csv文件的第1列和第4列中有不同数量的条目?您可以使用
系统(“wc-l
获取csv中的行数吗?@MarkSetchell抱歉,如果这不明确-它们都有相同的个数。如果我的
output.csv
有标题行,我还必须从
STATS\u records
中减去1吗?如果gnuplot将标题解释为非数据(例如,它有一个注释符号
#
),您不需要进行减法。否则您需要检查:尝试使用一个与您的
输出.csv
标题相同的小数据文件,在其上运行
统计数据
,然后
打印统计数据记录
,看看您得到了什么。