function [x, f, ok, count] = newton1D(fun, funprim, funbis, xinit, epsi, maxiter)
if nargin < 6, maxiter = 30; end;
if nargin < 5, epsi = 100 * eps; end;
x0 = xinit;
count = 0;
while 1
   if count > maxiter
      break
   end;
   fbis = feval(funbis, x0);
   if fbis == 0
      ok = 0;
      disp('zerowa druga pochodna w newton1D');
      return
   end;
   fprim = feval(funprim, x0);
   x = x0 - fprim / fbis;
   if abs(x - x0) <= epsi * abs(x0)
      if fbis > 0 
         ok = 1;
      else
         ok = 2;
      end;
      f = feval(fun, x);
      return
   end;
   x0 = x;
   count = count + 1;
end;
warning('przekroczona liczba iteracji w newton1D');
ok = 0;