(translator=Young, ChineseSource=Young-20020720-20\fzero.html, EnglishSource=c:\matlabr12\help\techdoc\ref\fzero.html)
MATLAB Function Reference    
fzero

找只有一個變數函數零的部份

Syntax

Description

x = fzero(fun,x0) 試著找出 funx0 附近的零。,如果 x0 是純量x 經由接近 fun 改變正負號位置的 fzero 傳回,如果尋找失敗則會傳回 NaN。在這個情形時,在搜尋區間擴張時,搜尋在找到 InfNaN、複數後停止。

如果 x0 是一個長度為二的向量,fzerox0 當作一個區間,而 fun(x0(1))fun(x0(2)) 異號。如果不是這樣的話,會發生錯誤。以一個區間保證呼叫 fzerofzero 會回傳一個靠近 fun 正負號改變的點。

x = fzero(fun,x0,options) 以定義在 options 結構的最佳化選項做最小化動作。你可以用 optimset 函數定義這些參數。fzero 使用下列 options 結構欄位:

Display
顯示的等級。'off' 不顯示輸入;'iter' 在每次重複(iteration)時顯示輸出;'final' 只顯示最後結果;'notify' (預設) 只在函數不收斂時顯示輸出。
TolX
x 的終結容忍度。

x = fzero(fun,x0,options,P1,P2,...) 提供傳到函數 fun 的額外參數。如果沒有設定選項,用 options=[] 當作欄位保留。

[x,fval] = fzero(...) 傳回目標函數 fun 在解答 x 的值。

[x,fval,exitflag] = fzero(...) 傳回描述 fzero 跳出狀態的值 exitflag

>0
表示函數找到一個零 x
<0
沒有一個區間有找到變號,或是在搜尋包含變號區間時遇到 NaNInf,或是在搜尋包含變號區間時遇到複數。

[x,fval,exitflag,output] = fzero(...) 傳回一個包含最佳化資訊的結構 output

output.algorithm
使用的演算法
output.funcCount
函數計算的次數
output.iterations
重複(iteration)的次數

Arguments

fun 是要計算零的函數。它接受一個向量 x 然後回傳一個純量 f,目標函數在 x 求得的值。函數 fun 可以用函數處理定義。

其中 myfun 是一個 MATLAB 函數,就像

fun 也可以是一個 inline 物件。

其他參數都在之前敘述過了。

Examples

由找接近 3 sine 函數的零計算

找 1 和 2 間 cosine 的零

        1.5708

注意,cos(1)cos(2) 正負號不同。

函數的零

寫一個叫 f 的 M-檔 m

找 2 附近的零

因為這個函數是一個多項式,所以敘述 roots([1 0 -2 -5]) 找到一樣實數的零,和共軛複數部份的零。

Algorithm

fzero 命令是一個 M-檔。演算法是由 T. Dekker 發明的,合併使用 bisection、secant 和 inverse quadratic interpolation methods。一個有一些改進的 Algol 60 版本程式,可以在 [1] 得到。fzero 的M-檔以 Fortran 版本程式為基礎可以在 [2] 找到。

Limitations

fzero 命令找函數變號的點。如果函數是 連續的 ,則還會有一個函數接近零的點。如果函數不連續,fzero 可能傳回不連續的點而不是零的點。舉例來說,fzero(@tan,1) 傳回 1.5708,一個 tan 不連續的點。

更進一步來說,fzero 命令定義 zero 為函數和 x-軸相交。函數和 x-軸接觸,但沒有相交的點不是合法的零。舉例來說,y = x.^2 是一個在 0 接觸 x-軸的拋物線。因為函數從不交叉過 x-軸,找不到零。對沒有合法零的函數,fzero 執行直到偵測到 InfNaN或複數值。

See Also

roots, fminbnd, function_handle (@), inline, optimset

References

Brent, R., Algorithms for Minimization Without Derivatives, Prentice-Hall, 1973.

Forsythe, G. E., M. A. Malcolm, and C. B. Moler, Computer Methods for Mathematical Computations, Prentice-Hall, 1976.


 fwrite (serial) gallery