查找局部最大值

Finding local maxima

本文关键字:最大值 查找局      更新时间:2023-09-26

我想找到一组数据的局部最大值。我有来自探空火箭有效载荷的飞行数据日志,我想根据加速度计数据找到分期的大致时间。我应该能够根据对图形上数据的目视检查来获得我想要的时间,但是我将如何在 Javascript 中以编程方式找到点?

如果只需要知道大概的时间,那么使用一些启发式方法可能就足够了,例如:通过平滑过滤器运行数据,然后查找跳转。

如果准确找到暂存时间很重要,我的建议是构建一个分段连续模型并将其拟合到数据中,然后从中得出暂存时间。例如,单阶段模型可能是:对于 0 <t_1,加速度为> t_1,加速度为 - g,其中 g 是重力加速度。我不知道这里的f(t(可能是什么,但大概它在火箭工程中是众所周知的。拟合这种模型的困难是由于存在截止点t_1,这使得它不可微分,但实际上并不太困难;在像这样相对简单的情况下,您可以遍历可能的截止点并计算其余参数的最小二乘解,然后取一个或多个误差最小的截止点。

参见Seber和Wild,"非线性回归";有一章是关于这样的模型的。