一、演算法原理
1.計算f (x)在有解區間[a, b]端點處的值,f (a),f (b)。
2.計算f (x)在區間中點處的值f (x0)。
3.判斷若f (x0) = 0,則x0即是根,否則檢驗:
(1)若f (x1)與f (a)異號,則知解位於區間[a, x0],
b1=x0, a1=a;
(2)若f (x0)與f (a)同號,則知解位於區間[x0, b],
a1=x0, b1=b。
4.當|bn-an|clear
f=@(x) x.^2-5*x+9;% func2str sym
fplot(f)
;[x,fx]
=ef(f,[0 6],100) % a 函式值 b橫座標
function
[x,result]
=ef(f,x0,n)
x1=x0(1)
;x3=x0(2)
;tol=1e-5;
df=matlabfunction(diff(sym(f))
); %sym(f)匿名函式變為符號範數 只有符號函式才可以求導
x2=(x1+x3)/2;
df2=df(x2)
;i=1;
while abs(df2)
> tol && i < n
if df2 < 0
x1=x2;
else
x3=x2;
endx2=
(x1+x3)/2;
df2=df(x2)
; i=i+1;
endx=
(x1+x3)/2;
result=f(x)
;end
二分法 MATLAB實現
matlab中eps是乙個函式,可以返回某乙個數n的最小浮點數精度,形式例如eps n 一般直接用eps即可。eps eps 1 2.2204e 16 1 1 eps false 1 1 eps 0.51 false 1 1 eps 0.5 true 0.5 時為true 自定義函式的途徑 m檔案函...
bsearch函式二分法
在初學寫程式時,特別是剛開始接觸資料結構時,基本都是在查詢 各種排序,其實都是在為查詢做準備。今天我們來看看關於c語言中自帶的乙個二分法搜尋函式bsearch 通過這個函式可以簡單的認識到二分法搜尋的一些內在的原理,以及發散一點其他搜尋方法的東西。首先,介紹這個函式 函式原型 void bsearc...
C 二分法查詢,遞迴二分法
用二分法來求需要查詢的值.includeusing namespace std 查詢key元素是否存在 int findkey const int buf 100 const int ilen,const int key else right left mid 1 查詢失敗 return 1 查詢k...