
function [ x ] = newtsqrt(a,tol)
% newtsqrt.m, tehtävä mlBas013a 
% Lasketaan approksimaatio sqrt(a):lle Newtonin iteraatiolla.
% Lisättiin vielä valinnainen tol-argumentti, ja "elegantti"
% alkuaskel.
% Lopetusehto: Peräkk. termien suhteellinen ero <= tol.
% Esim:
% x=newtsqrt(5, .00001)
% format long
% y=newtsqrt(5)
% [x;y;sqrt(5)]  % Verrataan tuloksia.
if nargin==1
    tol=eps;   % Oletustoleranssi = eps (kone-epsilon)
end    
x=-Inf;   % Elegentti alustus, ei haittaa, vaikka vähemmän elegantti.
xuusi=a;
while abs(xuusi-x) >= x*tol
    x=xuusi;
    xuusi= 0.5*(x+ a/x);
end;
end
