function newton_v_secant_v_fpos; % p is the approximatoin of newtons's method % p_2, p_1 are the approximations of the secant method % q_2, q_1 are the approximations of the false position method % Two initial approximation for p_1=-0.5; p_2=0.1; % initial approximation of the secant method, p=0.5; %initial approximation of Newton's method, q_1=-0.5; q_2=0.1; %initial approximation of Method of False Position (root is inside [q_1, q_2]) % n is the number of iterations n=40; % the same loop is for the both methods fprintf(1, '\n\n Compare the three methods \n'); for i=1:1:n p=p-f(p)/der_f(p); % Newton's p_secant=p_2-f(p_2)*(p_2-p_1)/(f(p_2)-f(p_1)); p_1=p_2; p_2=p_secant; %Secant method q_secant=q_2-f(q_2)*(q_2-q_1)/(f(q_2)-f(q_1)); % false position, root has to be always between q_2 and q_1 if f(q_secant)*f(q_2)<0 q_1=q_2; q_2=q_secant; %next point is computed from q_2 and q_secant else q_1=q_1; q_2=q_secant; %next point is computes from q_1 and q_secant end; fprintf(1,'Iteration: %3i Newton`s: %13.10f Secant: %13.10f False position: %13.10f \n', i,p,p_secant,q_secant); end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Add graphics, just to have a %% picture of the function near %% the initial approximation %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure(1); %x=[2:0.01:4]; %plot(x,pi+0.5*sin(x/2)-x,3.6269420149,pi+0.5*sin(3.6269420149/2)-3.6269420149,'ro'); x=[-1:0.01:1]; %plot(x,x.^2,0,0,'ro'); %plot(x,-x.^3-cos(x), -0.8654740331,-(-0.8654740331)^3-cos(-0.8654740331),'ro'); plot(x,sign(x).*sqrt(abs(x)),0,0,'ro'); grid on %%% END OF GRAPHICS function y=f(x); % use example 2.2#7 solve as root finding problem by Newton's method %y=pi+0.5*sin(x/2)-x; % Another example: solve x^2=0 by Newton's method %y=x^2; % One more: se example 2.3#2 solve as root finding problem by Newton's method %y=-x^3-cos(x); % a funny example: the function has infinite derivative at $x=0$ y=sign(x)*sqrt(abs(x)); function y=der_f(x); % use example 2.2#7 solve as root finding problem by Newton's method %y=cos(x/2)/4-1; % Another example: solve x^2=0 by Newton's method %y=2*x; % One more: se example 2.3#2 solve as root finding problem by Newton's method %y=-3*x^2+sin(x); % a funny example: the function has infinite derivative at $x=0$ y=1/(2*sqrt(abs(x)));