二分法的代码实现

时间:2021-09-15 20:18:57

二分法是计算机求解方程的常用算法,很容易在matlab中实现。

%计算f(x)= 0的近似解,容差为tol

fuction xc = bisec(f,a,b,tol)
if sign(f(a))*sign(f(b)) >= 0
    error('f(a)f(b)<0 not satisfied!')
end
fa = f(a);
fb = f(b);
while (b-a)/2 > tol
   c = (a+b)/2;
   fc = f(c);
   if fc == 0
     break
   end
   if sign(fa)*sign(fb)<0
       b=c;fb = fc;
   else
       a = c;fa = fc;
   end 
end

xc = (a+b)/2



在matlab中首先要在命令行中键入:

 f = @(x) x^3+x-1