function [x,it] = proste_iterace(f,x0,tol)
% [x,it] = proste_iterace(f,x0,tol)
%
% funkce nalezne pevny bod x funkce f (tj. bod x, pro ktery plati f(x) = x)
% metodou prostych iteraci 
%
% x ... pevny bod
% it ... pocet iteraci
%
% f ... predpis f(x) zadany ve stringu (promenna x), napr. f = 'x-0.25*(x^2-2)'
% x0  ... pocatecni aproximace
% tol ... pozadovana presnost

f = eval(['@(x)', f]); % function handle

it = 0;
x = x0;
xn = feval(f,x);

while abs(xn - x) >= tol 

  it = it + 1;
  x = xn ;
  xn = feval(f,x);

end

x = xn;

% vypis vysledku
disp(['Nalezena aproximace pevneho bodu zadane funkce ma hodnotu ', num2str(x, '%.15f.')])
disp(['Pocet potrebnych iteraci: ', num2str(it, '%d')])

% konec