資源簡(jiǎn)介
數(shù)值分析的二分法的實(shí)現(xiàn),自己隨便寫(xiě)的,大家交流交流。有不對(duì)的請(qǐng)指出來(lái),謝謝。
代碼片段和文件信息
function?[anfxi]=erfenfa(fa0b0typen)
%f為要求解的函數(shù)
%n為循環(huán)次數(shù)
%a0為起始區(qū)間的左端點(diǎn)
%b0為起始區(qū)間的右端點(diǎn)
%type為使計(jì)算停止的方法,type=1時(shí)為通過(guò)因變量的比較,type=2是為通過(guò)自變量的比較
%e為精度
%ans使f(x)為0的點(diǎn),即答案
if??nargin==3
?????type=1;%默認(rèn)方法為方法1
?????n=4;%精確位數(shù)
?????eps=0.0001;????%默認(rèn)精度為0.0001?
elseif?nargin==4
????n=4;
????eps=0.0001;????%默認(rèn)精度為0.0001
end????????????????
eps=0.1^n;
digits(n+1);
i=0;
Y=inf;?%令Y等于無(wú)窮大,以便在第一步時(shí)候下面的while可以運(yùn)行?
X=inf;?%令X等于無(wú)窮大,以便在第一步時(shí)候下面的while可以運(yùn)行?
Ya0=(subs(sym(f)findsym(sym(f))a0));
Yb0=(subs(sym(f)findsym(sym(f))b0));??%計(jì)算起始端點(diǎn)的函數(shù)值
if(Ya0==0)???????????%如果端點(diǎn)對(duì)應(yīng)的函數(shù)值為零,則該點(diǎn)就為函數(shù)的零解
????an=a0;
elseif(Yb0==0)
????an=b0;
elseif(Ya0*Yb0<0)???????%根據(jù)二分法的條件:端點(diǎn)的函數(shù)值必須異號(hào)
????X0=(
評(píng)論
共有 條評(píng)論