% Berechnet die Wurzel einer (pos.) reellen Zahl a mittels des Heron-Verfahrens.
% y = wurzel_erw(a) berechnet eine Annaeherung an die Wurzel von a mit Genauigkeit 10^-14 und Startwert a.
function y = wurzel_erw(a)
if(a <= 0)
	error('Die Zahl a ist nicht positiv.') % Fehlermeldung, falls Eingabeparameter a nicht positiv.
endif
format long; % detailliertes Ausgabeformat
x = a; % Als Anfangswert wird der Eingabeparameter a gewaehlt.
y = 0.5*(a + 1); % Erste Iteration wird in y gespeichert.
printf('Iterationen:\n\n%14.14f\n',y); % Formatierte Ausgabe.
while(abs(x-y) >= 10^(-14)) % Solange sich die Werte der letzten beiden Iterierten (in x und y gespeichert) um mehr als 10^-14 unterscheiden wird eine weitere Iteration durchgefuehrt.
	x = y; % Aktuelle Iteration wird in x gespeichert.
	y = 0.5*(x + (a/x)); % Neue Iteration wird berechnet und in y gespeichert.
	printf('%14.14f\n',y); % Formatierte Ausgabe.
endwhile
end
