
function [x,it]=testnewton(f,df,x0,sol,tol=1e-10)
#implementacja m newtona dla f(x)=0 z testami rzedu
#zbieznosci
#input
#f - wskaznik do funkcji obliczajacej f(x)
#df - wskaznik do funkcji obliczajacej pochodna df(x)
#x0 - przyblizenie startowe
#sol - rozwiazanie dokladne f(sol)=0 (tylko dla testow!)
#tol - (opcja) tolerancja warunku stopu - domyslnie 10^(-10) 
# stop gdy |f(x)|<tol (lub ilosc iteracji >=od itmax=100)
#Output
#x - przyblizenie rozwiazania r. f(x)=0
#it - ilosc iteracji 
itmax=100; it=0;
x=x0;
y=f(x);
e=x-sol;
while((abs(y)>tol)&&(it<itmax))
 z=df(x);
 if(abs(z)>0) 
  x=x-y/z;
 else 
   printf("pochodna zero tzn df(%g)=%g czyli zero\n",y,dy)
 endif
 ep=e;e=x-sol;
 printf("Test Newton:[%d],%g %g %g %g %g %g\n",...
         it,x, f(x), e, e/ep, e/(ep*ep),e/(ep*ep*ep));
 it++;
 y=f(x);
endwhile
endfunction
