我的一位朋友问我为什么简单的等效公式得到不同的结果。对不起,代码有点长,但有趣的部分只是99行和100行。这是formulas和code。
我查了一下代码。问题出在f = 1
的地方。
问题是第99行和第100行。运行代码大约需要10秒。
感谢您的任何指导或评论。
答案 0 :(得分:1)
简单。这只是因为四舍五入的错误。您注释掉的内容有一些舍入错误,导致fplus~=1
,所以:
E = log( (1 - 1") / 1) >= log(eps) >= -36.0437.
虽然真正的价值应该是:
E = log( (1 - 1) / 1) = log(0) = -Inf