Instituto Politécnico Nacional
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Zacatenco
Curso
Analisis Numérico Practica #4: Solución de sistemas de ecuaciones lineales simultaneas por el Método de Gauss Jordan
Profesor
Miguel Jiménez Guzmán
México D.F., Agosto de 2013
Practica #1:
Solución de sistemas de ecuaciones lineales simultaneas por el Método de Gauss-Jordan 1. Objetivo:
Que el alumno comprenda y aplique el método de Gauss-Jordan para la solución de ecuaciones lineales simultáneas, usando programación en MatLab y/o C. 2. Introducción: Un sistema de ecuaciones lineales de la forma:
donde , son los coeficientes constantes, son los términs independientes constantes y son las incógnitas. Se dice que es un sistema que tiene n ecuaciones con n incógnitas o simplemente que es de orden nxn. Método de Eliminación Gaussiana
Este método se aplica para resolver sistemas lineales de la forma:
El método de eliminación Gaussiana (simple), consiste en escalonar la matriz aumentada del sistema:
para obtener un sistema equivalente de la forma:
1
donde la notación se usa simplemente para denotar que el elemento cambió. Se despejan las incógnitas comenzando con la última ecuación y hacia arriba. Por esta razón, muchas veces se dice que el método de eliminación Gaussiana consiste en la eliminación hacia adelante y la sustitución hacia atrás.
Eliminación Hacia Adelante:
En esta fase reduce el conjunto de ecuaciones a un sistema triangular Superior: 1) Consiste en dividir la primera ecuación por el coeficiente de la primera incógnita (coeficiente pivote). A este procedimiento se le conoce como normalización. 2) Después se multiplica la ecuación normalizada por el primer coeficiente de la segunda ecuación. 3) Nótese que el primer término de la primera ecuación es idéntico al primer término de la segunda. Por lo tanto, se puede eliminar, la primera incógnita de la segunda ecuación restando la primera a la segunda. 4) Se repite el paso 2 y 3 hasta eliminar la primera incógnita de todas las ecuaciones restantes. 5) Estos 4 pasos se repiten tomando como pivotes las ecuaciones restantes hasta convertir el sistema en la matriz triangular superior siguiente.
donde
, coeficientes modificados
i = reglon, j= columna, k = pivote
Sustitución Hacia Atras:
2
Una ves que se obtiene el sistema equivalente que es un sistema triangular superior, este se resuerlve despejando primero la variable X n, este valor se utiliza para obtener despejando la incógnita X n-1 hasta obtener el resultado completo del sistema.
) ( ∑
3
Ejemplo de Aplicación 1: Solución de Circuitos Eléctricos de Corriente Directa mediantea Analisis Nodal . La ley de corrientes de Kirchhoff establece que para cualquier circuito eléctrico, la suma algebraica de todas las corrientes en cualquier nodo en el circuito es igual a cero. En el análisis nodal, si hay n nodos en un circuito, y se selecciona un nodo de referencia, los otros nodos pueden ser numerados desde V 1 a V n-1. Con un nodo seleccionado como el nodo de referencia, habrá n-1 ecuaciones independientes. Si se supone que la admitancia entre los nodos i y j esta da como Y ij, se pueden escribir las ecuaciones nodales:
(4.1) donde m=n-1 V 1 , V 2 y V m son los voltajes de los nodos 1, 2 y asi sucesivamente hasta..., n con respecto al nodo de referencia. Σ I x
es la suma algebraica de las fuentes de corriente en el nodo x.
La ecuación (4.1) puede ser expresada en forma matricial como [Y ][V ] = [ I ]
(4.2)
La solución de la ecuación anterior es [V ] = [Y ]
-1
[ I ]
(4.3)
donde [Y ]
-1
es la inversa de [Y ].
Ejemplo 1
For the circuit shown below, find the nodal voltages V V 1 2 , and V 3 .
4
Figure 4.1 Circuit with Nodal Voltages
Solution
Using KCL and assuming that the currents leaving a node are positive, we have Para el nodo 1,
(4.7)
At node 2,
(4.8)
At node 3,
(4.9)
In matrix form, we have
[ ][]
(4.10)
The MATLAB program for solving the nodal voltages is
5
MATLAB Script diary ex4_1.dat % program computes the nodal voltages given the admittance matrix Y and current vector I % Y is the admittance matrix and I is the current vector % initialize matrix y and vector I using YV=I form Y = [ 0.15 -0.1 -0.05; -0.1 0.145 -0.025; -0.05 -0.025 0.075]; I = [5; 0; 2]; % solve for the voltage fprintf('Nodal voltages V1, V2 and V3 are \n') v = inv(Y)*I diary The results obtained from MATLAB are Nodal v oltages V1, V2 and V3, v= 404.2857 350.0000 412.8571
1. Desarrollo de la Práctica:
a) Realizar el Diagrama de Flujo para el Método de Gauss a partir del siguiente pseudocodigo siguiente: // Eliminación Hacia Adelante DO FOR k = 1, n — 1 DO FOR i = k + 1, n factor = a(i,k) / a(k,k) DO FOR j = k + 1 to n a(i,j) = a(i,j) — factor · a(k,j) END DO b(i) = b(i) — factor · b(k) END DO END DO // Eliminación Hacia Atras X(n) = b(n) / a(n,n) DO FOR i = n — 1, 1, — 1 6
sum = b(i) DO FOR j = i + 1, n sum = sum – a(i,j) · x(j) END DO X(i) = sum / a(i,i) END DO
b) A partir del diagrama de flujo escribir el código del programa en MatLab y/o C. c) Ejecutar el programa y resolver el circuito eléctrico del ejemplo 1, encontrando las corrientes en cada elemento resistivo: d) Escribir los resultados del proceso de eliminación hacia adelante y del proceso de sustitución hacia atrás para cada uno de los siguientes ejemplos:
e) El método de eliminación Gaussiana (simple) puede presentar un problema cuando uno de los elementos que se usan para hacer ceros, es cero o muy cercano acero. Este problema se puede resolver fácilmente intercambiando los renglones. A este procedimiento se le llama pivoteo parcial y aplicado a la eliminación Gaussiana, nos dá el llamado método de eliminación Gaussiana con pivoteo (parcial). Para elegir el elemento pivote en la columna se escoge el elemento con valor absoluto.
7
Usar eliminación Gaussiana con pivoteo para resolver el siguiente sistema:
f) Escriba sus Conclusiones g) Guarde sus programas en una memoria USB h) Cierre el MatLab y/o el compilador de C utilizado y apague la computadora siguiendo el procedimiento correcto.
8