Está en la página 1de 10

Trabajo de Mtodos Numricos

Alumno : Christian Ortiz Farfan

Tema: Sistema de Ecuaciones

Profesor: Ing. Juan Carrin

Fecha: Lunes 23 de Abril de 2011

METODO DE GAUSS
TRIANGULACION for k=1:n-1 %Proceso para remplazar una fila con cero en el elemento (k,k) en caso de existir for h=k:n %usamos un bucle desde k hasta n si el elemento (k,k) sigue siendo cero no podemos encontrar una respuesta if (A(k,k)==0) %Usamos una matriz auxiliar para guardar los valores for l=1:n-k for m=1:n+1 B(l,m)=A((l+k),m); end end %remplasamos la fila k en la fila n for m=1:n+1 A(n,m)=A(k,m); end %terminamos de hacer el remplazo de la matriz for l=1:n-k for m=1:n+1 A(k+l-1,m)=B(l,m); end end end end %pregunta para saber si el elemento (k,k) sigue siendo cero si es cero %el proceso de encontrar una respuensta da por terminado if (A(k,k)==0) k=n+1; end %Proceso de calculo de la triangular superior for i=k+1:n p=-A(i,k)/A(k,k); for j=k:n+1 A(i,j)=A(k,j)*p + A(i,j); end end end A DIAGONAL

%Convierte en unos la diagonal principal al dividir cada fila para el %elemento (k,k) de cada fila for i=1:n div=1/A(i,i); for j=i:n+1 A(i,j)=A(i,j)*div; end end A

INVERSA R(n)=A(n,n+1); for i=n-1:-1:1 R(i)=A(i,n+1); for j=n:-1:i+1 R(i)=R(i)-A(i,j)*R(j); end end RESPUESTA Respuesta=num2str(R,'%10.2f')

PROCESO
tic Datos Triangular Diagonal Inversa Resultado toc

METODO DE GAUSS SEIDEL DATOS


%UNIVERSIDAD DE CUENCA %FAULTAD DE INGENIERIA %GAUSS SEIDEL %NOMBRE:CHRISTIAN ORTIZ %INGRESO DE DATOS Nmax=6; n=8; A=[0.5 1 0 0 0 0 0 0 ;0.866 0 0 0 0 0 0 0;-0.5 0 0.5 1 0 0 0 0 ;1 0 1 0 0 0 0 0 ;0 -1 0.5 0 0.5 1 0 0 ;0 0 1 0 1 0 0 0 ;0 0 0 -1 -0.5 0 0.5 1 ;0 0 0 0 1 0 1 0 ] B=[0;-1500;0;0;0;0;0;0]; X=[0;0;0;0;0;0;0;0]; R=A; for i=1:n R(i,n+1)=B(i,1); end R %En esta parte del programa verificamos si la matriz es o no diagonalmente %dominante r=0; for i=1:n for j=1:n if A(i,i)==A(i,j) else r=r+abs(A(i,j)); end end m=abs(A(i,i)); if ((m < r)),break else r=0; end end if r==0 disp('MATRIZ DIAGONALMENTE DOMINANTE') else disp('MATRIZ NO DIAGONALMENTE DOMINANTE') disp('NOTA: El Sistema puede NO CONVERGER, quiza sea necesario usar un mayor numero de interaciones') end

DIAGONALO
%Determinar si el sistema de ecuaciones tiene o no convergencia Ter=0; for i=1:n for j=1:n if A(i,i)==A(i,j) else Ter=Ter+abs(A(i,j)); end if abs(A(i,i))<abs(Ter)

disp(' NO ES DIAGONALMENTE DOMINANTE El Sistema puede No CONVERGER') j=n; i=n; end end end disp('La matriz NO es DIAGONALMENTE DOMINANTE')

INTERACION
for k=1: Nmax Ante=X; for i=1:n p=0; for j=1:n if i==j else p =A(i,j)*X(j,1)+ p; end end X(i,1)=(B(i,1)-p)/A(i,i); end for j=1:n E(k,j)=abs((X(j,1)-Ante(j,1))/X(j,1))*100; end end x=num2str(X,'%10.2f') disp(sprintf('\n')) disp(' X1 X2

X3'

PROCESO
tic Datos Interacion toc

También podría gustarte