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,而无需在每次更改模拟时编辑我的脚本参数?
您可以通过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)
| 归档时间: |
|
| 查看次数: |
3997 次 |
| 最近记录: |