步长更新方案自适应嵌入式 RK 方法

计算科学 误差估计 龙格库塔 自适应时间步长
2021-11-29 19:10:10

如果我有一个 p 阶的 RK 方法的 RK 方法我可以将局部误差估计为 . 首先,我看不出这是如何估计局部误差,定义为我们使用正确的先前值在单个步骤中产生的误差。低阶方法与以前的正确值有什么关系?我可以接受这是我们使用低阶方法而不是高阶方法所犯的错误,但这有什么相关性?ypzp1rn+1=yn+1zn+1

此外,我读到步长应该更新为 但是我不明白为什么这会起作用,因为我们更新了步长,以便,这只会在一段时间后导致我错过了什么?

hn+1=(TOLrn+1)1phn.
rn+1=TOLhn+1=hn

1个回答

首先,我看不出这是如何估计局部误差,定义为我们使用正确的先前值在单个步骤中产生的误差。低阶方法与以前的正确值有什么关系?我可以接受这是我们使用低阶方法而不是高阶方法所犯的错误,但这有什么相关性?

两种方法都收敛到相同的真实解决方案,但权重略有不同。的收敛视为匹配泰勒级数的前个项。这是因为当证明收敛到真正的解决方案时,您在其泰勒级数并表明您匹配前项。因此,在泰勒级数形式中,是一些多项式因为这两种方法项具有完全相同的展开式,但只有一个方法与ppu(tn+1)h=tn+1tnprn+1rn+1=αphp+O(hp+1)p1p第学期。被认为足够小,因此删除了高阶项,我们有但要明白这个词的意思。由于阶方法具有正确的 Taylor 级数展开,因此该项正是阶方法与真正的 Taylor 项的误差,这意味着是局部中前导(最大)项的系数方法的截断误差,因此可以很好地近似该方法的局部截断误差。hrn+1αphppp1αpp1

所以现在我们有两件事,是方法的局部截断误差之一的一个很好的近似值,以及您所拥有的公式的真实路径是由于 Cechino 导致的最佳步长的结果,您证明如果错误估计准确,则在下一步中将为您提供错误/时间最佳步长。这也称为比例控制,但没有考虑稳定性问题,因此这不是许多 ODE 求解器软件中实际使用的方法rn+1rn+1αpΔtp,但它是一个很好的教学工具。你可以通过一些推理在没有最佳步长证明的情况下得到这个结果。比例控制是有意义的,因为这意味着您要校正与误差大小成比例的步长:误差越大,您想要的校正越多。因此,您可以将作为系数,即 TOL 除以您的误差估计,这意味着如果您的误差估计是容差的两倍,则步长将减半。这是合理的,但回想一下个根是有意义的,这样这个术语实际上就像TOL/rn+1rn+1αpΔtpp1/h. 当然,这是启发式的,实际证明更深入。所以你去了,现在你有了一个合理的误差估计和一个合理的方法来产生一个新的步长。

但是我不明白为什么这会起作用,因为我们更新了步长,以便,这只会在一段时间后导致rn+1=TOLhn+1=hn

如果方法的错误与 ODE 的步长或时间位置无关,就会发生这种情况。但这从来都不是真的。相反,方法的局部截断误差非常取决于许多因素,例如导函数的导数,当前状态值的大小等,因此总是在变化,导致和总是改变的最佳步长但是对于一些足够简单的方程,当自适应性正常工作时,步长将稳定在某个“最佳”值附近。fαprn+1