数学上,log(x/(y*z))
和log(x)-log(y)-log(z)
are equivalent。在计算机上,他们会给出不同的答案。哪个更适合计算?
答案 0 :(得分:3)
Log
数值稳定,但不是这样。想象一下y
和z
非常接近0
。然后y * z
很有可能被评估为0
和x / (y * z)
溢出。但log(y)
即使对于非常小的y
,也会给出准确的结果。所以log(x)-log(y)-log(z)
预计会更精确。
答案 1 :(得分:1)
前者会更快,后者会更精确,所以这取决于你需要什么。