【问题标题】:runga kutta integration with sensor datarunge kutta 与传感器数据的集成
【发布时间】:2023-03-20 21:07:01
【问题描述】:

对 Runga Kutta (RK2) 的数值积分有疑问。假设我有传感器数据为我提供 x,y 位置和速度。根据当前的车辆状态,我需要找出车辆在特定时间的位置。

使用简单的欧拉方法我可以做这样的事情

x(1) = 10;
y(1) = 5;
xdot = 2;
ydot = 1;
dt = 0.1

for i = 1:100
   x(i+1) = x(i) + dt*xdot
   y(i+1) = y(i) + dt*ydot
   t(i+1) = t(i) + dt

   if(t(i+1) >= 5)
      break
end

但是我读到欧拉在数值上不稳定,最好使用基于 RK 的方法。所以我看了一下RK4 implementation,但我对时间间隔是如何分割的感到困惑。因此,对于 RK2 方法,我从概念上理解它试图做到这一点。

所以我的问题是:我将如何为我的应用程序实现这样的东西?我唯一能想到的是,如果我有 10Hz 的数据以 1Hz 运行计算并使用第 1、第 5 和第 10 帧来计算 RK2 系数。我这样做的方式是否正确?

【问题讨论】:

  • 看看多步方法,它们可能更兼容采样数据。
  • Runga Kutta 方法用于逼近微分方程的解,我不确定它是否适合您的问题,也就是说,我终生无法记住 RK 的工作原理。 .
  • @LutzL 谢谢。我能够谷歌你的建议,我遇到了这个。 mathworks.com/help/matlab/math/integration-of-numeric-data.html

标签: math sensors numerical


【解决方案1】:

RK 不适合这个问题;您描述的问题只是在离散样本上集成 x'(t)。如果您的时间步间隔均匀,并且您希望车辆的路径相对于采样率相当平滑,Adams-Moulton 方法会很好用(这是@LutzL 提到的多步方法的一个示例;请参阅https://en.wikipedia.org/wiki/Linear_multistep_method) .如果您想在下一个时间步预测车辆的位置,您需要使用 Adams-Bashforth 多步方法。 或者,您可以简单地选择梯形或辛普森规则,这两者都比欧拉方法高阶。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-12
    • 1970-01-01
    • 2015-03-19
    • 2023-02-18
    • 1970-01-01
    • 1970-01-01
    • 2014-02-10
    • 2015-11-17
    相关资源
    最近更新 更多