垂直线条适合使用polyfit

Nar*_*esh 10 matlab curve-fitting polynomial-math numerical-methods

这只是一个基本问题.我正在使用线条来分散点polyfit.我有一些情况,我的散点有相同的X值,并且polyfit不能适合它.必须有能够处理这种情况的东西.毕竟,它只是一条线.

我可以尝试交换X和Y然后冷却一条线.任何更简单的方法,因为我有很多散点集,并想要一个通用的方法来检查行.

主要目标是找到合适的线条并放弃非线性特征.

And*_*ein 6

首先,这是由于您正在使用的拟合方法而发生的.在这样做时polyfit,您使用最小二乘法Y距离线的距离.

http://www.une.edu.au/WebStat/unit_materials/c4_descriptive_statistics/image23.gif

显然,它不适用于垂直线.顺便说一句,即使你有一些接近垂直线的东西,你可能会得到数值不稳定的结果.

有两种解决方案:

  1. 如你所知,交换x和y,如果你知道这条线几乎是垂直的.然后,计算逆线性函数.
  2. 在与线垂直的距离上使用最小二乘,而不是垂直(见下图)(此处有更多解释)

http://mathworld.wolfram.com/images/eps-gif/LeastSquaresOffsets_1000.gif