二分法是一种求解给定函数根的数值方法。二分法的实质是通过不断地把函数f(x)零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值。
将m = (a+b)/2作为新的b端点,继续重复以上步骤,直到逼近误差足够小为止。
二分法的求解步骤:
举例:求解f(x) = x2– 3在区间[0, 4]上的根。
完整MATLAB求解函数:
function p = bisection(f,a,b)
% f为待求解函数,a与b分别为待求解区间的两个端点值
% provide the equation you want to solvewith R.H.S = 0 form.
% Write the L.H.S by using inline function
% Give initial guesses.
% Solves it by method of bisection.
% A very simple code. But may come handy
if f(a)*f(b)>0
disp(‘Wrong choice bro’)
else
p= (a + b)/2;
err = abs(f§);
while err > 1e-7
if f(a)*f§<0
b = p;
else
a = p;
end
p= (a + b)/2;
err = abs(f§);
end
end
英文课件下载地址:
http://page2.dfpan.com/fs/7l6cdjf262211269163/
更多精彩文章请关注微信号: