【发布时间】:2019-06-08 22:39:16
【问题描述】:
我正在尝试计算函数 sinh(k-k*x)/sinh(k) 的逐点值,其中 k=1e4 和 x 的值介于 0 和 1 之间。这个函数本质上是指数函数的总和。当然,尝试计算exp(1e4) 会导致溢出错误。但是,上面的实际函数只取 0 和 1 之间的值,所以我想知道是否有一种聪明的方法可以计算指定范围内任意值 x 的函数。
函数可以展开成表格
exp(k-k*x)/(exp(k)-exp(-k)) - exp(k*x-k)/(exp(k)-exp(-k))
我想先尝试取对数,看看是否有什么可以简化的,但我找不到解决办法。有人对我如何处理这个问题有建议吗?我现在正在使用 Python,但我认为该语言在这里并不重要。
【问题讨论】:
-
这对math.stackexchange.com来说是个好问题
-
@RobertBaron 我会选择Computational Science SE,但我有偏见:)
标签: floating-point floating-accuracy