如何避免随着时间的流逝和“漂移”的累积错误在数字时间集成中?

发布于 2025-01-28 07:29:39 字数 703 浏览 2 评论 0原文

我正在编码一些研究结构动态问题的程序,并且我正在尝试了解如何随着时间的流逝估计和最大程度地减少累积错误,以进行大规模计算。

一个显式时间集成仪使用当前状态的知识来计算下一个状态。但这是一个近似值,因此下一个状态的每个计算都会导致某些误差传播到以下状态,这比将来的计算更加复杂。隐式时间集成商通过更少的时间步骤提高了准确性,但以每次步骤的计算要求增加为代价。

我已经使用了Agi的 stk 可以计算多年来非常准确,复杂的轨道。我无法通过搜索他们的在线文档来找到特定的理论信息,但是我非常好奇这种类型的事情在实践中如何完成。无论为此分析选择的时间步长是否按秒或分钟的顺序计算,总体计算最终需要许多时间步骤,我认为这涉及很多累积错误。

有高阶方法(即“ https://en.wikipedia.org/wiki/leapfrog_integration” rel =“ nofollow noreferrer”> leapfrog 等),在每个时间步骤中最小化错误,但对于真正的长期计算,如何这是大规模完成的?

I'm coding a few programs to study structural dynamics problems, and I'm trying to understand how to estimate and minimize accumulated error over time for large-time scale calculations.

An explicit time integrator uses the knowledge of the current state to compute the next state. But it's an approximation so each calculation of the next state causes some error that is propagated to following states, which compounds over future calculations. Implicit time integrators improve accuracy with fewer time steps needed, but at the cost of increased calculation requirements per time step.

I've used software like AGI's STK which can calculate very accurate, complicated orbits over many years. I wasn't able to find specific theory information by searching their online documentation, but I'm very much curious as to how this type of thing is done in practice. Regardless if the time step chosen for this analysis is on the order of seconds or minutes, the overall calculation ends up requiring many, many time steps, which I assume involves a lot of accumulated error.

There are higher-order methods (i.e. RK, leapfrog, etc.), which minimize error at each time step, but for truly long-scale calculations, how is this done at scale?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文