You are on page 1of 5

PRCTICA

SOLUCIN NUMRICA DE SISTEMAS DE ECUACIONES LINEALES (PARTE I)


Elaborada por: Programacin Avanzada y Mtodos Numricos
Ing. Laura Sandoval Montao
Viridiana del Carmen De Luna Bonilla
Virgilio Green Prez
Objetivos
El alumno conocer y aplicar diferentes mtodos de solucin numrica para la resolucin
de sistemas de ecuaciones lineales.

Al final de esta prctica el alumno podr:

1. Resolver sistemas de ecuaciones lineales mediante diversas tcnicas de solucin
numrica (Eliminacin Gaussiana y Gauss-Jordan)
2. Implementar dichas tcnicas en el lenguaje de programacin C

Antecedentes

1. Manejar ciclos de repeticin en lenguaje C
2. Manejar arreglos y estructuras en lenguaje C
3. Realizar operaciones con matrices
4. Calcular la matriz inversa

Introduccin

Existen varios mtodos para la solucin numrica de sistemas de ecuaciones lineales, entre
ellos estn: Eliminacin Gaussiana y Gauss-Jordan. Esta prctica se enfoca a dichos
mtodos por lo que a continuacin se da una pequea explicacin de cada uno de ellos;
aunado a esto se recomienda revisar estos mtodos en la bibliografa citada al final de la
prctica.

Eliminacin Gaussiana

Este mtodo propone la eliminacin progresiva de variables en el sistema de ecuaciones,
manejando una matriz cuadrada hasta dejarla en su forma triangular, para as encontrar el
valor de una variable y dejar las dems ecuaciones con 2, 3, 4, , n variables
consecutivamente, para de igual forma ir encontrando el valor de la segunda, tercera, ,
ensima variable haciendo una sustitucin hacia atrs.
Este proceso se realiza mediante la utilizacin de operaciones bsicas tales como la suma,
resta, multiplicacin y divisin; es muy frecuente la multiplicacin de un rengln por una
constante, y la suma de ste con otro rengln, ya que de esta manera se puede llegar hasta
obtener una ecuacin en donde el coeficiente de una variable sea 0.
Al rengln que se selecciona para realizar este proceso se le llama rengln pivote.
Por ejemplo, sea el sistema de ecuaciones:
4 2 3
24 6 5 4
9 3 2
3 2 1
3 2 1
3 2 1
= + +
= + +
= + +
x x x
x x x
x x x


Las operaciones realizadas en la aplicacin del mtodo de Eliminacin Gaussiana para la
obtencin de los valores de las variables se presentan a continuacin:
PRCTICA
SOLUCIN NUMRICA DE SISTEMAS DE ECUACIONES LINEALES (PARTE I)
Elaborada por: Programacin Avanzada y Mtodos Numricos
Ing. Laura Sandoval Montao
Viridiana del Carmen De Luna Bonilla
Virgilio Green Prez

12 6 3
24 6 5 4
36 12 8 4
3 2
3 2 1
3 2 1
=
= + +
=
x x
x x x
x x x

Seleccionamos la primera ecuacin como pivote y la
multiplicamos por -4 y el resultado de sta se la sumamos
a la segunda. Esto simplificar el sistema.
4 2 3
12 6 3 0
9 3 2
3 2 1
3 2 1
3 2 1
= + +
=
= + +
x x x
x x x
x x x


La nueva ecuacin encontrada, la sustituimos en el
segundo rengln.
23 7 5 0
4 2 0
9 3 2
3 2 1
3 2 1
3 2 1
=
= + +
= + +
x x x
x x x
x x x

Luego, la primera se multiplica por -3 y se le suma a la
tercera; y la segunda ecuacin se divide entre -3.
3 3 0 0
4 2 0
9 3 2
3 2 1
3 2 1
3 2 1
= + +
= + +
= + +
x x x
x x x
x x x

Ahora se multiplica la segunda por 5 y se le suma a la
tercera.
En este momento ya tenemos el valor de x3
0 ) 6 ( 2 ) 1 ( 3 9 2 3 9
6 ) 1 ( 2 4 2 4
1
2 3 1
3 2
3
3 .
3
= = =
= = =
= =

x x x
x x
x

Ahora simplemente se procede a hacer la
sustitucin hacia atrs, y automticamente se van
obteniendo los valores de las otras incgnitas

El pseudocdigo para la triangulacin de un sistema de n ecuaciones, con n incgnitas es:

DESDE i = 1 HASTA n
DESDE j = i+1 HASTA n
cte = A(j,i)/A(i,i)
DESDE k = i HASTA n
A(j,k) = A(j,k)-cte*A(i,k)
FIN
B(j) = B(j)-cte*B(i)
FIN
FIN

donde: A es la matriz de los coeficientes de las incgnitas y B es el vector de trminos
independientes.

NOTA: Las limitantes que presenta este pseudocdigo es que si encuentra algn cero
dentro de la diagonal principal, mientras va haciendo la eliminacin, el algoritmo no
podr continuar ya que tratar de realizar una divisin entre cero.

Mtodo De Gauss-Jordan

Este mtodo constituye una variacin del mtodo de Eliminacin de Gauss. Este
procedimiento se diferencia del mtodo Gaussiano, porque ahora no se busca obtener una
matriz triangular, sino obtener la matriz identidad, siguiendo los mismos pasos de
multiplicar por constantes los renglones y sumarlos a los dems.
Por ejemplo, sea el siguiente sistema de ecuaciones:
PRCTICA
SOLUCIN NUMRICA DE SISTEMAS DE ECUACIONES LINEALES (PARTE I)
Elaborada por: Programacin Avanzada y Mtodos Numricos
Ing. Laura Sandoval Montao
Viridiana del Carmen De Luna Bonilla
Virgilio Green Prez


= + +
= + +
= + +
=
=
23 7 5 0
12 6 3 0
9 3 2 1
4 2 1 3
24 6 5 4
9 3 2 1
4 2 3
24 6 5 4
9 3 2
1 3 3
1 2 2
3
4
1 r r R
r r R
paso
z y x
z y x
z y x



=
+ =
=
=
1 1 0 0
4 2 1 0
1 1 0 1
3 3 0 0
4 2 1 0
1 1 0 1
23 7 5 0
4 2 1 0
9 3 2 1
3 3
2 3 3
2 1 1
2 2
3
1
5
2
3
1
r R
r r R
r r R
r R


=
+ =
1 0 0
6 0 0
0 0 0
1 1 0 0
6 0 1 0
0 0 0 1
2 2 2
3 1 1
2
z
y
x
final solucin r r R
r r R


El pseudocdigo que realiza el mtodo de Gauss-Jordan es:

DESDE i = 1 HASTA n
Se normaliza el rengln pivote
cte = A(i,i)
DESDE j = 1 HASTA n
A(i,j) = A(i,j)/cte
FIN
B(i)=B(i)/cte

Sigue el algoritmo de eliminacin gaussiana
DESDE j = i+1 HASTA n
cte = A(j,i)
DESDE k = 0 HASTA n
A(j,k) = A(j,k)-cte*A(i,k)
FIN
B(j) = B(j)-cte*B(i)
FIN
FIN

Se realiza la eliminacin inversa
DESDE i = n hasta 1
DESDE j = (i-1) hasta 1
cte = A(j,i)
A(j,i) = A(j,i)-cte*A(i,i)
B(j) = B(j)-cte*B(i)
FIN
FIN

PRCTICA
SOLUCIN NUMRICA DE SISTEMAS DE ECUACIONES LINEALES (PARTE I)
Elaborada por: Programacin Avanzada y Mtodos Numricos
Ing. Laura Sandoval Montao
Viridiana del Carmen De Luna Bonilla
Virgilio Green Prez
Como se puede observar, es una modificacin del pseudocdigo que se utiliz para la
eliminacin gaussiana; se le agregaron lneas de cdigo tanto para normalizar el rengln
pivote requerido en la eliminacin hacia abajo, as como para la eliminacin inversa y
obtener la solucin completa del sistema.

NOTA: Este pseudocdigo, al igual que el usado para la eliminacin gaussiana, tiene la
particularidad que no admite tampoco ceros en la diagonal principal, cuando realiza la
eliminacin hacia abajo.

Bibliografa

BURDEN, L. R. , FAIRES, J.D.
Anlisis Numrico
7. Edicin
Mxico
Thomson International, 2003

CHAPRA, Steven C, CANALE, Raymond P.
Mtodos Numricos para Ingenieros
3. Edicin
Mxico
Mc. Graw-Hill, 1999

GERALD, Curtis F.
Anlisis Numrico
6. Edicin
Mxico
Prentice Hall, 2001

PRCTICA
SOLUCIN NUMRICA DE SISTEMAS DE ECUACIONES LINEALES (PARTE I)
Elaborada por: Programacin Avanzada y Mtodos Numricos
Ing. Laura Sandoval Montao
Viridiana del Carmen De Luna Bonilla
Virgilio Green Prez

EJERCICIOS PROPUESTOS

1. Elaborar un programa que implemente la Eliminacin Gaussiana para un sistema de
ecuaciones lineales de 3 x 3.

2. Utilizando el programa anterior, resolver el siguiente sistema de ecuaciones.

61 . 17 6 4
32 . 14 6 4
3 . 85 8 3 5
3 2 1
3 2 1
3 2 1
= +
= +
= +
x x x
x x x
x x x


3. Modificar el programa del inciso 1 para que solucione la limitante de no aceptar
ceros en la diagonal principal, intercambiando el rengln con el cero, por otro de los
que estn abajo del mismo. Y verificar con el siguiente sistema:

6 . 7 2 3
4 . 6 8 4 2
4 . 2 3 2
3 2 1
3 2 1
3 2 1
= + +
= +
= + +
x x x
x x x
x x x


4. Utilizando el sistema de ecuaciones del inciso 2, resolverlo por Gauss-Jordan.

5. Elaborar un programa que implemente el mtodo de Gauss-Jordan, para sistemas de
hasta 5 incgnitas. Y que resuelva la limitante de ceros en la diagonal principal,
intercambiando por otro rengln por debajo de la caracterstica. Utilice el sistema de
ecuaciones del inciso 3, para su comprobacin.

6. Con el programa anterior resolver el siguiente sistema de ecuaciones.

81 . 76 11 8 6 2 3
49 . 7 5 4 3 2
81 . 54 2 5 2 7 5
95 . 9 8 3 5
26 . 22 6 2 2 4
5 4 3 2 1
5 4 3 2 1
5 4 3 2 1
5 4 3 2 1
5 4 3 2 1
= + +
= + + + +
= + + + +
= + + +
= + + + +
x x x x x
x x x x x
x x x x x
x x x x x
x x x x x


7. Elaborar un programa que lea de un archivo un sistema de ecuaciones de 3 x 3 junto
con el vector b y que lo resuelva por Gauss-Jordan.

You might also like