Está en la página 1de 8

Trabajo N 3 -Mtodos Iterativos para resolver Sistemas Lineales

Apellidos y Nombres: Samam Jimnez, Hilda Ana Cdigo: 10140138

a) Resolver:

* Creacin de la matriz function [A,B]=sistema(n) format short A(1,1)=4; A(n,n)=4; for i=1:n for j=1:n if i==j A(i,j)=4; elseif j==(i-1) A(i,j)=-1; elseif j==(i+1) A(i,j)=-1; elseif j==(i+4) A(i,j)=-1; elseif j==(i-4) A(i,j)=-1; end end end B=[1.902207,1.051143,1.175689,3.480083,0.819600,-0.264419,0.412789,1.175689,0.91337,-0.150209,0.264419,1.051143,1.966694,0.913337,0.819600,1.902207]; * Resultado

* Cdigo del mtodo de Jacobi

function X=Jacobi1(XO,tol,max) % Datos de entrada % XO: vector inicial de orden nx1 % tol: tolerancia % max: nmero mximo de iteraciones % % Datos de salida % X: matriz de orden nx1 con la aproximacion a la solucion de AX=B. % format long [A,B]=sistema(16); n=length(B); c=0; for k=1:max % Construccion de las siguientes iteraciones for j=1:n X(j)=(B(j)-A(j,[1:j-1,j+1:n])*XO([1:j-1,j+1:n]))/A(j,j); end % Condicin de paro ea=abs(norm(X'-XO)); er=ea/(norm(X)+eps); if(ea<tol)|(er<tol) disp('Se alcanzo la tolerancia con exito en la iteracion') disp(k) disp('y la solucion aproximada es') X=X'; c=1; break else XO=X'; end end % Cuando no cumple la condicin de paro if c==0 disp('El metodo no cumple el criterio de paro propuesto para') dis(max) disp('iteraciones.') end

* Ejecucin del cdigo - En primer lugar, creamos el vector XO, el cual contiene el vector inicial nx1

- Luego, ejecutamos el mtodo de Jacobi.

* Cdigo del mtodo de Gauss-Seidel

function X=GSeidel(XO,tol,max) % Datos de entrada % XO: vector inicial de orden nx1 % tol: tolerancia % max: nmero mximo de iteraciones % % Datos de salida % X: matriz de orden nx1 con la aproximacion a la solucion de AX=B. % format long [A,B]=sistema(16); n=length(B); c=0; for k=1:max % Construccion de las siguientes iteraciones for j=1:n if j==1 X(1)=(B(1)-A(1,2:n)*XO(2:n))/A(1,1); elseif j==n X(n)=(B(n)-A(n,1:n-1)*(X(1:n-1))')/A(n,n); else X(j)=(B(j)-A(j,1:j-1)*(X(1:j-1))'-A(j,j+1:n)*XO(j+1:n))/A(j,j); end end % condicin de paro ea=abs(norm(X'-XO)); er=ea/(norm(X)+eps); if(ea<tol)|(er<tol) disp('Se alcanzo la tolerancia con exito en la iteracion') disp(k); disp('y la solucion aproximada es') X=X'; c=1; break else XO=X'; end end % no cumplimiento de la condicion de paro if c==0 disp('El metodo no cumple el criterio de paro propuesto para') disp(max) disp('iteraciones.') end end

* Ejecucin del cdigo - En primer lugar, creamos el vector XO, el cual contiene el vector inicial nx1

- Luego, ejecutamos el mtodo de Gauss Seidel.

* Cdigo del mtodo de SOR

function X=metSOR(XO,w,tol,max) % Datos de entrada % XO: vector inicial de orden nx1 % tol: tolerancia % max: nmero mximo de iteraciones % w: valor de omega % % Datos de salida % X: matriz de orden nx1 con la aXOroximacion a la solucion de AX=B. % format long [A,B]=sistema(16); n=length(B); c=0; for k=1:max % Construccion de las siguientes iteraciones for j=1:n if j==1 X(1)=(1-w)*XO(j)+ w*(B(1)-A(1,2:n)*XO(2:n))/A(1,1); elseif j==n X(n)=(1-w)*XO(j)+ w*(B(n)-A(n,1:n-1)*(X(1:n-1))')/A(n,n); else X(j)=(1-w)*XO(j)+ w*(B(j)-A(j,1:j-1)*(X(1:j-1))' ... -A(j,j+1:n)*XO(j+1:n))/A(j,j); end end %condicion de XOaro ea=abs(norm(X'-XO)); er=ea/(norm(X)+eps); if(ea<tol)|(er<tol) disp('Se alcanzo la tolerancia con exito en la iteracion') disp(k) disp('y la solucion aproximada es') XO=X'; c=1; break else XO=X'; end end if c==0 disp('El metodo no cumple el criterio de paro propuesto para') disp(max) disp('iteraciones.') end

* Ejecucin del cdigo - En primer lugar, creamos el vector XO, el cual contiene el vector inicial nx1

- Luego, ejecutamos el mtodo de SOR

Cuadro comparativo de las soluciones obtenidas mediante los mtodos iterativos

Mtodo Iteracin donde encontr la solucin

Jacobi

Gauss-Seidel

SOR

81

45

24

Solucin

1.3989 1.4893 1.7434 2.4813 2.2041 1.7639 1.8272 2.4976 2.3529 1.7996 1.7166 2.1535 1.9971 1.5152 1.3507 1.3516

1.3989 1.4894 1.7434 2.4813 2.2042 1.7640 1.8273 2.4977 2.3530 1.7997 1.7167 2.1536 1.9971 1.5152 1.3508 1.3516

1.3990 1.4894 1.7434 2.4814 2.2043 1.7641 1.8273 2.4978 2.3531 1.7997 1.7168 2.1536 1.9972 1.5153 1.3508 1.3517

Conclusin: El mtodo de SOR es ms eficiente, debido que encuentra la solucin aproximada en la


iteracin 24, a diferencias de los otros dos mtodos, que la hallan en una iteracin mayor.

También podría gustarte