Numerical Lab

 %Gauss Seidel method

clc

clear all

close all

x1(1) =0;

x2(1) =0;

x3(1) =0;

x4(1) =0;

for i=1:100

    it(i)=i;

    x1(i+1)= (3+ 2*x2(i)+ x3(i)+ x4(i))/10;

    x2(i+1)= (15+2*x1(i+1) + x3(i) + x4(i))/10;

    x3(i+1) = (27+ x1(i+1) + x2(i+1) + 2* x4(i))/10;

    x4(i+1) = (-9+ x1(i+1) + x2(i+1) + 2* x3(i+1))/10;

er1=((x1(i+1)-x1(i))*100/x1(i+1));

er2=((x2(i+1)-x2(i))*100/x2(i+1));

er3=((x3(i+1)-x3(i))*100/x3(i+1));

er4=((x4(i+1)-x4(i))*100/x4(i+1));

if ( er1<0.01 && er2<0.01 && er3<0.01 && er4<0.01 )

break;

end

end

disp(' Iteration X1 X2 X3 X4');

disp ( [ it' x1(2:i+1)' x2(2:i+1)' x3(2:i+1)' x4(2:i+1)' ] ) ;



%Newton-Raphson method

clc

clear all

x(1)=2;

error(1) = 0;

it(1)=1;

for k=2 : 100

it(k)=k;

f(k-1)=x(k-1)^3-2*x(k-1)-5;

f1(k-1)=3*x(k-1)^2-2;

x(k)=x(k-1)-(f(k-1)/f1(k-1));

if(k>1)

error(k) = abs((x(k)-x(k-1))/x(k))*100;

if( error(k)<0.01)

f(k)=x(k)^3-2*x(k)-5;

break;

end

end

end

disp('Iteration x f(x) Error(%)')

disp([it' x' f' error'])

fprintf('The root is %f',x(k));



%study of Bisection methode using MATLAB

clc

clear all 

close all

a(1)=1;

b(1)=2;

f1=a(1)^3-a(1)-1;

f2=b(1)^3-b(1)-1;

error(1)=0;

for k=1:100

    it(k)=k;

    x(k)=(a(k)+b(k))/2;

    f(k)=x(k)^3-x(k)-1;

    if f(k)>0

        b(k+1)=x(k);

        a(k+1)=a(k);

    else

        a(k+1)=x(k);

        b(k+1)=b(k);

    end

    if(k>1)

        error(k)=abs((x(k)-x(k-1))/x(k))*100;

        if(error(k)<0.01)

            break;

        end

    end

end

disp('iteration a b x f(x) Error(%)')

fprintf('the root is %f',x(k));




%false position method

clc

clear all

a(1)=2;

b(1)=3;

f1=a(1)^3-a(1)-1;

f2=b(1)^3-b(1)-1;

error(1) = 0;

for k=1 : 100

it(k)=k;

x(k)=( a(k)*f2-b(k)*f1 )/(f2-f1);

f(k)=x(k)^3-x(k)-1;

if f(k)>0

b(k+1)=x(k);

f2=f(k);

a(k+1)= a(k);

else

a(k+1)=x(k);

f1=f(k);

b(k+1)=b(k);

end

if(k >1)

error(k) = abs((x(k)-x(k-1))/x(k))*100;

if( error(k)<0.01)

break;

end

end

end

disp(' Iteration a b x f(x) Error(%)')

disp([it' a(1:k)' b(1:k)' x' f' error'])

fprintf('The root is %f',x(k));

Comments

Popular posts from this blog

Programing C Lab