如何计算 gnuplot 中点和曲线的最短距离?

How to compute shortest distances of points and curve in gnuplot?

假设我在 gnuplot 中有一条拟合曲线(或简单的 sin(x) 函数)和带有数据的文件 - 函数附近的点。如何计算点与曲线的距离并将它们写入带有 gnuplot 数据的文件?是否可以在 gnuplot 中轻松实现平方和?非常感谢

您的问题似乎混淆了两个不同的概念。如果曲线拟合到点,则平方和中的分量项使用 y 值的差异。 IE。对于点 [xi, yi],项是 (func(xi) - yi)**2。

但这与 "distance of the point from the curve" 不同,因为曲线上最近的点可能位于某个不同的 x 值处。这个问题的答案一般需要微积分,而不是 gnuplot 旨在帮助你的东西,尽管如果你计算出相关的方程式,你可以使用 gnuplot 的 "fit" 通过近似而不是通过求解来找到最小值解析微分方程

绘制拟合后的残差 假设数据点 [xi, yi] 在文件 "data" 的第 1 列和第 2 列中。 假设 fit(x) 是你从拟合得到的函数。然后你可以绘制每个点的残差:

plot 'data' using 1:( (fit()-)**2 ) with linespoints