MATLAB:函数调用为同一个x

时间:2015-10-21 22:04:30

标签: matlab function

MATLAB debugging

我目前正处于调试过程中,我发现这种情况正在发生,破坏了一切。作为参考,f = @(x)a x ^ 3 + b x ^ 2 + c * x + d(在这种特定情况下,a = 2,b = -7,c = - 8,d = 16)。

另外,我注意到temp == -1.6861返回false ..

1 个答案:

答案 0 :(得分:2)

这是一个典型的浮点问题。你的号码不是-1.6861,但接近它。尝试format long,然后查看temp。或者甚至更好,试试sprintf('%25.20f',temp)temp是函数f的根,应该是,但不完全是-1.6861。

你实际上必须非常小心:

(1/3-7/3/7)==0

是假的,因为

>> (1/3-7/3/7)

ans =

  -5.5511e-17