等效公式在MATLAB中给出不同的结果

时间:2016-06-11 18:36:14

标签: matlab eigenvalue

我的一位朋友问我为什么简单的等效公式得到不同的结果。对不起,代码有点长,但有趣的部分只是99行和100行。这是formulascode。 我查了一下代码。问题出在f = 1的地方。 问题是第99行和第100行。运行代码大约需要10秒。 感谢您的任何指导或评论。

1 个答案:

答案 0 :(得分:1)

简单。这只是因为四舍五入的错误。您注释掉的内容有一些舍入错误,导致fplus~=1,所以:

E = log( (1 - 1") / 1) >= log(eps) >= -36.0437. 

虽然真正的价值应该是:

E = log( (1 - 1) / 1) = log(0) = -Inf