的讓我們考慮下面的代碼在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'來解決你的問題 –