

function [x,y,it]=bisekcja(f,a,b,tol=1e-10)
 #implementacja m bisekcji dla rownania f(x)=0
#a,b, konce odcinka
#f wskaznik do funkcji obliczajacej f(x)
#tol - opcja - mozna podac tolerancje dla warunku stopu 
#(domyslnie wartosc 10^{-10}) - stop gdy dlugosc odcinka <tol
#output
#x - przyblizenie zera (srodek ostatniego odcinka)
#y=f(x)
#it - ilosc iteracji metody bisekcji
#wywolanie 
#proste:  x=bisekcja(f,a,b)
#         [x,y,it]=bisekcja(f,a,b,1e-4)
ya=f(a);yb=f(b);
it=0;
x=(a+b)/2;
while(abs(a-b)>tol)
 y=f(x);
 if(y==0) return; endif
 if(sign(ya)==sign(y))
  a=x;ya=y;
 else
  b=x;yb=y;
 endif
 it++;
 x=(a+b)/2;
endwhile

endfunction



