% Los EXS 2.1 av Erik Dalsryd 2018-09-14
clear all, close all, clc
% Plottar funktionen
xP = -3:0.1:1;
taljare = xP.^3 + 3*xP.^2 - 3;
namnare = xP.^2 - xP - 1;
funk = taljare ./ namnare;
plot (xP, taljare, 'r', xP, namnare, 'g', xP, funk, 'b')
grid, axis ([-3  1  -2  2])

xVek = [];
for    x = [-2.5  -0.5  1]   % Startgissningarna
    dx = 1;
    while  abs(dx) > 0.5e-3
        f = x.^3 + 3*x.^2 - 3;   % Funktionen
        fp = 3*x.^2 + 6*x;   % Derivatan
        dx = f / fp   % Justeringens storlek
        x = x -dx;   % Justering av föregående x
    end
    xVek = [xVek  x];   % Lagrar rötterna
end
hold on
plot (xVek, xVek.^3 + 3*xVek.^2 - 3, '*')   % Plottar rötterna
legend ('Täljare', 'Nämnare', 'Funk', 'Rötterna')
xlabel ('x'), ylabel ('f(x)'), title ('EXS 2.1')
Rotterna_ar = xVek   % Skriver ut rötterna