曲线拟合在数据点不平坦的情况下表现不佳

2024-06-13 17:59:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下面的data set,它有几个凸起和凹陷。但是,当我尝试使用Python的curve_fitfrom scipy{}模块拟合曲线时,它无法很好地再现凹凸。我试过7-8级多项式和正弦,但找不到合适的

我假设使用7-8级多项式,我应该能够重现这些凹凸(对于7级多边形,我将有3个凹凸和3个谷,这应该足够了),但是,通过拟合,我只得到2个凹凸

有没有比curve_fit更好的方法来适应Python中的函数,或者我在适应函数的时候做错了什么

提前感谢您提供的任何解决方案


Tags: 模块方法函数datascipy解决方案多边形曲线
2条回答

在我看来,你可以用高次多项式得到okish拟合。该图像显示21度多边形(绿色)和41度多边形(蓝色)与原始多边形(红色)的拟合。 虽然多项式确实有其局限性,但它们通常是合理的。 fits by least squares using orthogonal polynomials

正如我在学校学到的,多项式往往是一个非常糟糕的选择来拟合曲线(精确拟合,10个测量点的结果是一个9年级的多项式)。当然,曲线在最里面的4或5个点上是有意义的,但是在它之前和之后都不接近“真实”值。四年级或五年级之前的所有课程都可以,但之后我建议你们研究样条曲线。我假设curve_fit不能将多项式精确地拟合到你的测量点,所以这个“可能”可行。问题是,你们的测量点并没有描述多项式,它们也不是我想的
落石或破碎车辆的测量点(随时间的距离)可以很好地(并且应该)拟合为二次多项式,因为基函数是二次多项式s(t) = at^2 + v0t + s0

TL;除非基函数是多项式,否则DR多项式拟合是不好的,这里使用样条拟合

相关问题 更多 >