Mathematica中的FindRoot错误

时间:2014-11-05 21:10:43

标签: wolfram-mathematica mathematical-optimization

以下示例中的FindRoot中的If语句将x< 100评估为不确定。我很困惑为什么,也无法解决它。

代码是:

myroot:= FindRoot [If [x< 100,x,x - 1,x - 2],{x,0}]; myroot

我得到的输出是:

{x - > 2。}

我希望看到{x - > 0}。我正在使用Mathematica 10.0。谢谢!

1 个答案:

答案 0 :(得分:0)

解决方案如下:

myroot:= FindRoot [If [x< 100,x,x - 1,x - 2],{x,0},评估 - >假]; myroot

FindRoot首先以符号方式评估目标函数,这导致x <100的错误是不确定的。