
function x=min_modnewton(f,x0,tol)
% min_modnewton - beräknar nollställe till f(x) givet startapproximation x0.
%   Syntax:
%           x = min_modnewton(f,x0,tol)
%   Argument:
%           f   - funktionshandtag: pekar på namnet till en funktionsfil eller
%                 till en anonym funktion. T.ex. f=@funk eller f=@(x)cos(x)-x
%           x0  - ett tal som ger en startapproximation av nollstället.
%           tol - positivt tal som anger önskad noggrannhet för nollstället.
%   Returnerar:
%           x   - ett tal som ger approximativt nollställe.
%   Beskrivning:
%           Programmet beräknar ett approximativt nollställe till f(x) med en
%	    modifierad Newton metod. Derivatan av f(x) approximeras internt.
%   Exempel:
%           x = min_modnewton(@(x)cos(x)-x,1.0,1e-5)

    x=x0; kmax=10;
	     
    for k=1:kmax
        ...
    end

    msg=sprintf('Varning: Det krävs mer än kmax=10 iterationer för att bestämma nollstället.');

    if k==kmax, disp(msg), end

    function Df=diffkvot(f,x)         % Intern funktion, privat för min_modnewton
        dx=1e-5;                      % Lagom stort dx
        Df=(f(x+dx)-f(x-dx))/(2*dx);  % Approximation av derivatan av f(x)
    end
end

