我正在使用.net图表绘制一些嘈杂的数据,并希望为数据添加一条平滑的线条。
我已经尝试过最小二乘多项式拟合数据,但这不能很好地工作(它不能很好地跟踪数据中的所有波谷),我尝试使用运行平均值或分级来平滑数据在使用多项式拟合之前的数据点,但这些没有多大帮助。
我遇到过平滑样条的参考,想尝试一下。我可以找到一些非常昂贵的商业实现,但因为这是一个小的业余爱好应用程序,我买不起。所以我正在寻找一个开源实现。
请注意我正在寻找平滑样条曲线(或类似的东西)而不是三次样条插值。之间的区别在于平滑样条曲线不必通过任何实际数据点,而三次样条插值通过所有数据点。
对其他可能方法的任何建议都表示赞赏。
如果它有助于我的数据的一般形状是两种形状之一:
1)双驼峰,驼峰的顶部是平滑的曲线(有点像sin / cos函数的峰值),谷(和开始/结束)更加V形。
2)平滑的线条,里面有V形的山谷。
重要的是,平滑算法不会切断山谷的底部。