% ----------------------------------
% Verfahren von Newton
% Beispiel der Bisektion
% graphische Darstellung 
%
% x0 = 1.2663: Zyklus!!
% --------------------------------


clear all
hold off

x = -4:.1:4;
y = f(x);
%richtige Funktion in f.m waehlen!!

plot(x,y)
hold on
line([min(x) max(x)], [0 0], 'color', 'k')
hold on
line([0 0], [min(y) max(y)], 'color', 'k')
hold on
grid

x0 = input('Startwert x0 = ');
line([x0 x0], [0 f(x0)], 'color', 'k')
hold on

xn = x0;
Nmax = input('Anzahl Iterationen Nmax = ');

for i = 1:Nmax
 x0 = xn;
 xn = x0 - f(x0)/fp(x0);
 plot(x0, f(x0), 'r.')
 line([x0 x0], [0 f(x0)], 'color', 'm')
 pause
 line([x0 xn], [f(x0) 0], 'color', 'm')
 plot(xn, 0, 'k.')
 pause
 hold on
 
end


%axis('equal')
%gtext('y = x')
%gtext('y = f(x)')
%gtext('x0')
%gtext('b')
title('Newton', 'interpreter', 'latex')
hold on
plot(xn, f(xn), 'co')
fprintf('berechnete Nullstelle s = %f\n', xn)
fprintf('Anzahl Iterationen = %d\n', i)
fprintf('Qualitaet der Nullstelle f(s) = %e\n', f(xn))

