的让我们考虑下面的代码在MATLAB:替代fzero功能
f=inline('x.^4-29*x.^2-132','x')
f =
Inline function:
f(x) = x.^4-29*x.^2-132
x=fzero(f,-5.5)
x =
-5.744562646538029
f(x)
ans =
0
有fzero工作正常,但下面的代码
g=inline('x^2','x')
g =
Inline function:
g(x) = x^2
h=fzero(g,-1.3)
Exiting fzero: aborting search for an interval containing a sign change
because NaN or Inf function value encountered during search.
(Function value at 1.5776e+154 is Inf.)
Check function or try again with a different starting value.
h =
NaN
返回这个结果,我该如何解决?我应该引入一些容差还是在MATLAB中有另一种方法?
'fzero'用于函数会在一定的时间间隔内改变它的符号,文档清楚地说,[这里](http://www.mathworks.com/help/matlab/ref/fzero.html#btoc6lj-10),“'x = fzero(FUN,X0)'试图找到一个'x'的地方,其中'fun(x)= 0'。这个解决方案是'fun(x)'改变符号的地方。 'fzero'找不到函数的根,例如'x^2'“。 –
我知道这个,所以我的问题是替代方法 –
我以为你想用'fsolve'来解决你的问题 –