You are on page 1of 1

function [x,err,xx ] = bisection( f,a,b,TolX,MaxIter )

TolFun = eps;
fa = Feval (f,a);
fb = Feval (f,b);
if fa*fb >0 , error ('pilih nilai batas yang lain'); end

for k =1 : MaxIter
xx (k) = (a + b)/2;
fx = Fevalcl (f , xx (k)); err = abs (fx) ;
if abs (fx) < TolFun | abs (err) < TolX , break ;
else if fx*fa > 0 , a = xx (k) ; fa = fx ;
else b = xx (k);
end
end
x = xx (k);
fprintf ('solusi fungsi = %f \n ', x )
fprintf ('error = %f ' , abs (fx))
if k == maxIter, printf ('nilai terbaik dalam %d iterasi\n' , MaxIter),

end

You might also like