gnuplot - 如何每 N 个数据点拟合一个函数

gnuplot - How to fit a function every N data points

我正在使用 gnuplot 和函数拟合工具对我的一些数据执行最小二乘法拟合。

我有很多数据点(有时数千万),因此不可能拟合所有数据点。 (或者至少太慢而不实用。)

可以使用关键字 every 绘制数据点(编辑:应该是 pointinterval 而不是 every!)后跟整数 N,仅每隔一个绘制第N点.

例如plot 'data.csv' using 1:2 pointinterval 1000 绘制每千分之一的数据点。在绘制 10 的数百万点时很有用 - 否则你看不到任何有用的东西。

是否有类似的拟合方法,即只拟合每第 1000 个点?

我尝试了 fit 'data.csv' f(x) using 1:2 pointinterval 1000 via a,b,其中 ab 是我的 f(x) 的参数 - 但我只是得到一个错误:';' expected.

我也尝试用谷歌搜索并阅读 gnuplot 绘图的文档,但没有找到任何东西。

或者,我可以将我的程序代码更改为仅将每第 1000 个点写入数据文件,但这样我将不得不拥有 2 个数据文件 - 一个包含所有点,另一个包含每 1000 个数据点中的 1 个。 .这看起来有点浪费。

编辑:我不确定为什么我认为 every 是正确的语法。原来它应该是 pointintervalpi 短)后跟一个整数。

然而,这只适用于绘图,不适用于函数拟合,所以问题仍然悬而未决。

未来注意事项:使用 every 语法