Codificación En Matlab De Método De Gauss

Páginas: 6 (1377 palabras) Publicado: 16 de mayo de 2012
UNIVERSIDAD DE CUENCA INGENIERIA CIVIL
METODOS NUMERICOS

METODO DE GAUSS Y GAUSS - SEIDEL
Ismael Portilla F.
Ing. Juan Carrión
2011/05/23

CODIFICACIÓN EN MATLAB DEL METODO DE GAUSS

PROGRAMA PRINCIPAL

%TITULO: METODO DE GAUSS
%FECHA:20/05/2011
%AUTOR: ISMAEL PORTILLA
%DESCRIPCION: Este programa resuelve sistemas de ecuaciones aplicando el
%metodo de gauss

functionc=trabajo2(a)
%tomamos la velcidad de convergencia del metodo y la evaluamos en t
tic
%trabajo la matriz aumentada para llevarla a la forma de triangular superior, tomando
%en cuenta tambien el cambio de filas
a=triangular_superior(a);
%Para trabajar en la matriz hago unos su diagonal principal
b=diag_unos(a);
%Finalmente realizo la sustitucion hacia atras para encontrar los valores
%de lasincognitas
c=sust_atras(b);
end
t=toc

SUBPROGRAMAS

function a=triangular_superior(a)
%Determino las dimensiones de la matriz
[m,n]=size(a);
n=n-1;
for k=1:(n-1)
%Compruebo que el valor a trabajar como pivote sea diferente de cero,
%caso contrario, aplico el cambio de filas.
if (a(k,k)==0)
may=a(k+1,k);
s=k+1;
for q=(k+1):n
if(may<a(q,k))
may=a(q,k);
s=q;
end
end
for i=1:n+1
u(i)=a(k,i);
v(i)=a(s,i);
end
for j=1:n+1
a(k,j)=v(j);
a(s,j)=u(j);
end
end
%Una vez evaluado el valor, empezamos el metodo asignando unavariable a
%trabajar para hacer ceros debajo de la diagonal
for i=(k+1):n
x=(-a(i,k)/a(k,k));
%Determino los siguientes valores de la matriz modificada
for j=1:(n+1)
a(i,j)=(a(k,j)*x)+a(i,j);
end
end
end
if a(n,n)==0
disp('No hay solucion')
break
end

function b=diag_unos(a)
%Llevo a unos la diagonal principal[m,n]=size(a);
for i=1:m
for j=1:(n)
b(i,j)=a(i,j)/a(i,i);
end
end

function c=sust_atras(b)
[m,n]=size(b);
n=n-1;
%Hago la sustitucion hacia atras para determinar los valores
c(m)=b(n,n+1);
for i=n:-1:1
t=0;
for k=i+1:n
t=t+b(i,k)*c(k);
end
%b representa el vector solucion del sistema
c(i)=b(i,(n+1))-t;
end

EJEMPLO DE CORRIDA>> a

a =

1.0e+003 *

Columns 1 through 7

0.0010 0 0 0.0007 0.0010 0 0
0 0.0010 0 0.0007 0 0 0
0 0 0 -0.0007 0 0.0007 0.0010
0 0 0 -0.0007 0 -0.0007 0
0 0 0 0 -0.0010-0.0007 0
0 0 0 0 0 0.0007 0
0 0 0 0 0 0 -0.0010
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 00 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0.0010 0 0 0 0

Columns 8 through 14

0 0 0 0 0 0 0
0 0 00 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0.0007 0.0010 0 0 0 0 0
0.0007 0 0 0 0 0 0
-0.0007 0 0.0007 0.0010 0 0...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Método de Gauss Jordan en MatLab (ejemplo de destilación de hidrocarburos)
  • Codificacion a matlab
  • Codificacion matlab
  • Gauss matlab
  • Metodo de Gauss y Gauss Seidel
  • Metodos De Codificacion
  • Script y Ejemplo Para Matlab Para Resolver Una Matriz Por El Metodo De Gauss
  • metod de gauss

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS