function [x] = itersqrt(a,tol,maxiter )
% Palautetaan iteraatiovektori -> sqrt(a)
%   Newtonin menetelma neliojuuren laskemiseen.
%   Opetustoleranssi = eps
%   Maksimi-lkm. iteraatioille = 50
if nargin < 3, maxiter=50; end
if nargin < 2, tol=eps;end

k=1;
suhtero=inf;
x(1)=a;

while(suhtero>tol)
    x(k+1)=(x(k)+a./x(k))/2;
    k=k+1;
    suhtero=abs(x(k)-x(k-1))/abs(x(k-1));
end

if k>maxiter
    error(['Ei suppene ',num2str(maxiter),':lla iteraatiolla'])
end    
% Jos haluttaisiin sallia kutsu, jossa tol:lla oletusarvo, ja
% maxiter:lla kutsussa annettava arvo, pit"aisi menn"a varargin-
% tekniikkaan, kts. help varargin.
end

