计算log(x /(y * z))或log(x)-log(y)-log(z)是否更好?

时间:2015-02-10 18:49:04

标签: numbers numerical-methods logarithm

数学上,log(x/(y*z))log(x)-log(y)-log(z) are equivalent。在计算机上,他们会给出不同的答案。哪个更适合计算?

2 个答案:

答案 0 :(得分:3)

Log数值稳定,但不是这样。想象一下yz非常接近0。然后y * z很有可能被评估为0x / (y * z)溢出。但log(y)即使对于非常小的y,也会给出准确的结果。所以log(x)-log(y)-log(z)预计会更精确。

答案 1 :(得分:1)

前者会更快,后者会更精确,所以这取决于你需要什么。