function df = differentiate(f, x)
    % Sei F: R->R eine Funktion und f_i = F(x_i), wobei f und x Vektoren der Länge n sind.
    % Dann gibt diese Funktion einen Vektor df der Länge n zurück, wobei df_i = d/dx F(x_i).
    n = length(x);
    h = x(2) - x(1);

    df = [(f(2) - f(1)) / h; (f(3:n) - f(1:n - 2)) / (2 * h); (f(n) - f(n - 1)) / h];
end
