% Scripts for October 5

% function to count zeros
function [out,saveroot] = count_zeros(f,a,b,n)
   delta=(b-a)/n;
   x=[a:delta:b];
   counter=0;
   for k=1:n
       if sign(f(x(k)))~=sign(f(x(k+1)))
           counter=counter+1;
           saveroot(counter)=fzero(f,[x(k),x(k+1)]);
       end
   end
   out=counter;
return;

%----------------------------------------------


% function to apply Newton's method to a function
% derivative must be provided  

function [y,k] = newton(f,fprime,x)
   k = 0;
   xprev=x+1;
   while abs(x - xprev) > eps*abs(x)
      xprev = x;
      x = x - f(x)/fprime(x);
      k = k + 1;
   end
   y=x;
return;

%--------------------------------------------

% function to count zeros
function [out,saveroot] = count_zeros(f,a,b,n)
   delta=(b-a)/n;
   x=[a:delta:b];
   counter=0;
   for k=1:n
       if sign(f(x(k)))~=sign(f(x(k+1)))
           counter=counter+1;
           saveroot(counter)=fzero(f,[x(k),x(k+1)]);
       end
   end
   out=counter;
return;