%Lab 1
%Written by Jeannette Spuhler, 2011-10-04

%Exercise 2
%Fixpunkmetod
%Prohl, p.84
clear all; clc;

home;
G = inline('1.25*x-sin(2*x)-243/320');
x1=input('>> Vilket startvärde för iterationen vill du ha: ');
disp('>> Man kan sätta en gräns när man vill avbyrta den iterativa metoden.');
disp('>> I detta program avbryter man processen när')
disp('skillnaden mellan två iterationer är under en viss gräns som t.ex. 10^-5');
delta=input('>> Var vill du sätta denna gräns? ');
disp('>> Man sätter också en gräns för antal iterationer.')
iter = input('>> Ange max antal iterationer: ');   
x2=feval(G,x1);
dx=x1-x2;
iteration=0;
konv = 1;
%den iterativa metoden
while abs(dx)>delta*abs(x1) & iteration<iter
    x1=x2;
    olddx=dx;
    x2=feval(G,x1);
    dx=x1-x2;
    m=dx/olddx;
    if(abs(m)>=1)
        konv = 0;
        break;
    end
    iteration = iteration+1;
end
if(konv == 1)
    disp(['>> Fixpunkiterationen har konvergerar till ', num2str(x1)]);
else
    disp('>> Ej konvergens')
end