【问题标题】:Why is this integral so difficult to approximate? [closed]为什么这个积分如此难以近似? [关闭]
【发布时间】:2021-12-14 02:28:04
【问题描述】:

我做了一个程序,用高斯求积法近似积分。 我在作业中遇到的问题是,为什么函数 integr(x) 从 0 到 1 的积分难以近似?近似值约为 156.08。我认为这与范围有关,但无论我将 n 设置为 25 还是 90,最后一次迭代的输出将始终在 156 左右。对不起,如果问题不属于这里。

【问题讨论】:

  • 哦,是的!现在可以了:)
  • 为什么一般难以近似或这种方法难以近似?
  • 当 n = 100 时,您的代码给出 156.07966。WolframAlpha says 156.08。这对我来说看起来很不错。它有什么问题?
  • @CJR 用这个方法:)
  • @AlphaList 很好,不确定我们是否能回答这个问题。这个网站是关于编程的,你的问题似乎更多是关于数学而不是编程......

标签: python numerical-methods gaussian integral


【解决方案1】:

可能是由于基本的浮点运算。在某种程度上,如果你将n 设置得足够高,你最终会得到类似 156.0796666 的结果……一个很好的数值稳定性替代方法是尽可能在对数空间中执行计算。

【讨论】:

  • 好的,所以如果我理解正确,难以近似的原因是因为如果我想有一个好的近似值,我必须将 n 设置为一个高数字,我的函数最终会多次迭代,因此需要更长的时间?
  • 更重要的是n 是由于浮点算术错误,下一次迭代太小而无法正确求和。因此仅通过增加n是无法提高到一定阈值的。
  • 正如@jlandercy 所说。在某些时候,您求和的 delta u,v 值非常小,它们会导致下溢并且实际上对整体积分没有任何贡献。开始阅读的好地方是关于浮点运算的accuracy section。网上有很多关于数值稳定性的资料,其中大多数(据我所知)建议如果需要这种精度,则使用对数空间计算。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-20
  • 1970-01-01
  • 2011-01-08
  • 1970-01-01
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
相关资源
最近更新 更多