function x = fpi(g, x_1, tol, tol_0) x = [x_1, g(x_1)]; k = 1; plot(x(k,1), x(k,2), '.'); if (tol > 0.0001 * tol_0) drawtol = tol; else drawtol = 0.0001 * tol_0; end x_plot = x_1-tol_0:drawtol:x_1+tol_0; grid; plot([x_1-tol_0 x_1+tol_0], [x_1-tol_0 x_1+tol_0], x_plot, g(x_plot)); hold on; while k == 1 || tol < abs(x(k,1)-x(k-1,1)) j = k; while j > 1 j = j - 1; if tol > abs(x(k,1)-x(j,1)) return; end end if abs(x(k)-x(1)) > tol_0 r = NaN; return; end k = k + 1; x(k,1) = x(k-1,2); x(k,2) = g(x(k,1)); % x(k,:) plot(x(k,1), x(k,2), '.'); x_plot = [x(k-1,1), x(k,1)]; y_plot = [x(k-1,2), x(k-1,2)]; plot(x_plot, y_plot); y_plot = [x(k,1), x(k,2)]; x_plot = [x(k,1), x(k,1)]; plot(x_plot, y_plot); end r = x(k,1);