通过图表上的多个点直线

时间:2013-09-19 17:36:37

标签: matlab math

有人可以帮我弄清楚如何通过多个点绘制直线?通过这个,我不是说通过一条线穿过两个点,或者指向一条直线。我想绘制一条距离每个点最小距离的线。像这样:

line_through_points

2 个答案:

答案 0 :(得分:1)

以下是图像处理中使用的一些选项,其中通常需要在存在显着噪声和/或异常点的情况下找到最佳拟合线(以及最佳拟合曲线,形状等)。您需要考虑每种方法的适当性和计算时间。

  1. 最小二乘法拟合 - 通过多个点找到最佳拟合线的标准技术,但如果几个点和一个或多个异常值,则会产生不合适的拟合。 http://en.wikipedia.org/wiki/Least_squares
  2. RANSAC - 随机抽样和共识;更高的尺寸特别好。 http://en.wikipedia.org/wiki/RANSAC
  3. Hough line fit - 如果你有一些接近一条线的点,以及一些噪点也很好。 http://en.wikipedia.org/wiki/Hough_transform
  4. 最小二乘线性拟合可能是最好先尝试的。

    http://www.mathworks.com/help/stats/lsline.html

    http://www.mathworks.com/help/curvefit/least-squares-fitting.html

答案 1 :(得分:0)

它通常被称为“最合适的线”。

http://www.matrixlab-examples.com/polynomials.html

请使用polyfit