% Iteration Method - Steffensen's Method - Newton's Method g = inline('sqrt(10/(x+4))'); f = inline('x-sqrt(10/(x+4))'); fp = inline('1+sqrt(10/(x+4)^3)/2'); p0 = 1.5; tol = 10^(-5); MAX_ITER = 25; i = 0; fprintf('\n'); fprintf('-----------------Iteration---------------------------------------------\n'); fprintf(' i pn g(p)\n'); fprintf('-----------------------------------------------------------------------\n'); dx=2*tol; while( i < MAX_ITER && abs(dx)>=tol ) fprintf('%2d % 8.5e % 8.5e \n', i, p0, g(p0)); i = i+1; p = g(p0); dx = p - p0; if( abs(dx)= MAX_ITER ) fprintf('WARNING: Fixed Point iteration did not converge after %d steps.\n',i); end x0 = 1.5; x = x0; i = 0; dx=2*tol; fprintf('---------Newton------------------\n'); fprintf(' i x f(x)\n'); fprintf('---------------------------------\n'); while( i < MAX_ITER && abs(dx)>=tol ) fprintf('%3d %8.5e % 8.5e\n',i, x, f(x)); dx = f(x)/fp(x); i = i+1; x = x - dx; if( abs(dx)= MAX_ITER ) fprintf('WARNING: Newton iteration did not converge after %d steps.\n',i); end i = 0; p0 = 1.5; fprintf('\n'); fprintf('-----------------Steffenson--------------------------------------------\n'); fprintf(' i pn p1 p2'); fprintf(' p dx \n'); fprintf('-----------------------------------------------------------------------\n'); while( i < MAX_ITER ) p1 = g(p0); p2 = g(p1); p = p0-(p1-p0)^2/(p2-2*p1+p0); dx = p - p2; fprintf('%2d % 8.5e % 8.5e %8.5e % 8.5e % 8.5e\n', ... i, p0, p1, p2, p, dx); if( abs(dx)