Matlab fzero命令用法

时间:2016-02-03 13:33:45

标签: matlab calculus

我正在尝试在x+sin(x) = -e^x点周围找出方程x=-2的解。我用了这句话:

fzero('x+sin(x) == -exp(x)', -2);

然而,这给了我错误的答案。我相信我的错误是在表达式中使用了==,它应该是:

fzero('x+sin(x)+exp(x)', -2);

有人可以解释这背后的原因吗?

2 个答案:

答案 0 :(得分:6)

引用MATLAB documentation

  

x = fzero(fun,x0)尝试找到点x fun(x) = 0

fzero不会为您重新排序等式,它只能计算root or zero of a given function

答案 1 :(得分:-7)

答案在于函数的名称。 fzero(f,p)找到哪里 点{p}附近的f == 0

对于你的第一个例子,你问的是x+sin(x) == -exp(x)。当这是真的时,你提供的函数将输出1,这将使fzero输出除你想要的答案之外的任何值。