【源码】二分法及MATLAB实现

二分法是一种求解给定函数根的数值方法。二分法的实质是通过不断地把函数f(x)零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值。
【源码】二分法及MATLAB实现_第1张图片

【源码】二分法及MATLAB实现_第2张图片

将m = (a+b)/2作为新的b端点,继续重复以上步骤,直到逼近误差足够小为止。

二分法的求解步骤:
【源码】二分法及MATLAB实现_第3张图片

举例:求解f(x) = x2– 3在区间[0, 4]上的根。
【源码】二分法及MATLAB实现_第4张图片

【源码】二分法及MATLAB实现_第5张图片

【源码】二分法及MATLAB实现_第6张图片

完整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/

更多精彩文章请关注微信号:【源码】二分法及MATLAB实现_第7张图片

你可能感兴趣的:(【源码】二分法及MATLAB实现)