当参数趋于无穷时计算极限

计算科学 matlab 数值分析
2021-12-04 04:03:19

我在纯数学方面有相当的背景,现在我的项目是某种算法的数值实现。我有一些数字背景,但不是那么多,所以问题很简单:

在我的算法中,我必须计算某个参数的值

hr=limtI(t,r),
我们已经证明存在。计算表达式I在计算上相当昂贵,因为它涉及求解非线性 PDE。参数r索引一组适当密集的方向(单位向量),并且必须对所有方向进行所有计算。

如何计算限额?我可以猜测几个选项,但我不知道最佳实践是什么,或者我是否缺少一些众所周知的优雅解决方案。

  1. 通过启发式或实验选择足够大的t除了测试整个算法是否有效之外,这似乎是一个坏主意。
  2. 使用带有某些停止条件的t递增序列t,例如|I(tj,r)I(tj+1,r)|(或者,更好的是,相对变化)很小。
  3. t需要多大,以使I的误差足够小。考虑到I的复杂性,这可能会变得非常困难I
1个回答

这有点原始,但有很好的工作机会。

拟合平滑曲线并找到截距。行为的理论,这会更好例如,错误分析可能给出 如果您有两个不同的值,您可以编写两个方程并求解它们以找到未知数使用更多值,绘制它看起来像一条直线吗?或者仅当足够大时。然后将一条直线拟合到似乎位于一条上的值。I1/tI

I(t)=I+Ct2+
tICI(t)t2t

人眼非常擅长检测模式,例如发现线性趋势。您可以对可能是线性的图做出各种假设并选择那些是线性的。

这个技巧的更正式的版本定义了 Richardson 的延迟方法,你可以用谷歌搜索一下。祝你好运!