
function A=jacobi(f,x)
% Beräknar derivatan (Jacobimatrisen) A=Df(x) av funktionen f i x.
%
%   Syntax:
%           A = jacobi(f,x)
%   Argument:
%           f - ett funktionshandtag som beräknar
%               mx1-matrisen y=f(x). 
%           x - en nx1-matris
%   Returnerar:
%           A - en mxn-matris, Jacobimatrisen av f
%   Beskrivning:
%           Programmet använder en centraldifferenskvot för att
%           beräkna en approximation av Jacobimatrisen A=Df(x). 
%           Funktionen f måste returnera en mx1-matris y=f(x). 
%           Steglängden i differenskvoten är h=1e-6. 
%   Exempel:
%           a = jacobi(@(x)x.^2-2,3) 
%           A = jacobi(@(x)x'*x,[1;2;3])  

    h=1e-6; n=length(x);

    for i=1:n
        x1=x; x1(i)=x1(i)+h;
        x2=x; x2(i)=x2(i)-h;
        A(:,i)=(f(x1)-f(x2))/(2*h);
    end
