我正在尝试在x+sin(x) = -e^x
点周围找出方程x=-2
的解。我用了这句话:
fzero('x+sin(x) == -exp(x)', -2);
然而,这给了我错误的答案。我相信我的错误是在表达式中使用了==
,它应该是:
fzero('x+sin(x)+exp(x)', -2);
有人可以解释这背后的原因吗?
答案 0 :(得分:6)
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输出除你想要的答案之外的任何值。