tp n°2: m seal
TRANSCRIPT
TP N°2: MÉTODOS DIRECTOS
PARA SEAL
FACULTAD : FACULTAD DE INGENIERÍA Y RECURSOS H ÍDRICOS - UNL M ATERI A: CÁLCULO NUMÉRICO PROFESOR : JUAN JOSÉ GÓMEZ BARROSO ALUMNO : LUCIANO IVÁN ZABLOCKI COMISIÓN : LUNES 08:00 – 11:00 FECH A DE ENTREG A: 12/04/17
ENUNCIADO:
9- Considere un circuito eléctrico como el que se muestra en la Figura 1. Se pide aplicar las
leyes de Kirchhoff para calcular las corrientes i1, i2, i3 e i4.
10- Realice la factorización LU de la siguiente matriz siguiendo el orden de Dolittle, con y sin
pivoteo parcial (con lo cual, si P es distinta de la identidad, en realidad se tiene PA = LU). Luego,
calcule las matrices residuales A – LU y PA – LU y justifique las diferencias que ocurren.
9- Para este ejercicio del trabajo necesitaremos conocer lo que significan las Leyes de
Kirchhoff, las cuales son aplicables a este circuito, para de esta manera resolverlo.
A continuación describiremos los métodos desarrollados por el físico alemán Gustav
Robert Kirchhoff:
Regla de Kirchhoff de las uniones: La suma algebraica de las corrientes en cualquier unión
(punto donde se unen tres o más conductores) es igual a cero, es decir:
∑ I = 0
La regla de las uniones se basa en la conservación de la carga eléctrica. En una unión no se
puede acumular carga eléctrica, por lo que la carga total que entra a ella por unidad de tiempo
debe ser igual a la carga total que sale por unidad de tiempo. La carga por unidad de tiempo es
corriente (I), por lo que si consideramos como positivas las corrientes que entran a una unión y
negativas las que salen, la suma algebraica de las corrientes en la unión debe ser igual a cero.
Regla de Kirchhoff de las espiras: La suma algebraica de las diferencias de potencial en
cualquier espira, incluso las asociadas con las fem y las de elementos con resistencia, debe ser igual
a 0, es decir:
∑ 𝑽 = 𝟎
La regla de las espiras es el enunciado de que la fuerza electrostática es conservativa.
Aplicamos las leyes, y suponemos los sentidos de cada corriente propuestos en la figura
como positivos. Otro supuesto es la convención de que si pasamos por una resistencia en el
sentido positivo de la corriente, restamos su diferencia de potencial. Teniendo estos dos puntos
en cuenta, calculamos, por ejemplo, para la malla de abajo:
-10i4 -30i4 -15i4 –20(i4-i3) -25(i4-i2) = 0
Haciendo un razonamiento similar en las 3 mallas restantes, resolviendo y simplificando,
llegamos al siguiente sistema de ecuaciones lineal:
-80i1 + 50i2 +30i3 + 0 = -120
50i1 – 100i2 + 10i3 +25i4 = 0
30i1 + 10i2 – 65i3 + 20i4 = 0
0 + 25i2 + 20i3 – 100i4 = 0
Por lo tanto, en Octave ingresamos la matriz de coeficientes A:
Como así también, el vector de términos independientes b:
Se puede observar que la matriz A es simétrica (𝑎𝑖𝑗 = 𝑎𝑗𝑖 ), y también diagonalmente
dominante (|𝑎𝑖𝑖| ≥ ∑ |𝑎𝑖𝑗|, 𝑖 = 1,2, . . 𝑛𝑛𝑗=1𝑗≠𝑘
). Esto hace que, aplicando por ejemplo la factorización
LU, nunca necesitaríamos hacer pivoteo realmente, ya que los valores más grandes se encuentran
en la diagonal (recordemos que la técnica del pivoteo parcial coloca los números de mayor valor
absoluto en la diagonal para de esta manera evitar la división por números pequeños). Es por esta
razón que se elige la factorización de Doolittle sin pivoteo parcial para resolver el sistema.
Con la función “eig” de Octave, podemos calcular los auto valores de cualquier matriz; al
usarlo obtenemos:
Donde los auto valores de nuestra matriz son los que están en la diagonal. Claramente nos
damos cuenta que esta matriz NO es definida positiva, debido a que sus auto valores no son todos
positivos, sino todo lo contrario
Procederemos a mostrar los algoritmos usados durante el ejercicio:
• Algoritmo que implementa la factorización LU sin pivoteo parcial: dado una matriz
A, nos devuelve su factorización LU.
• Algoritmo que realiza la sustitución hacia atrás.
• Algoritmo que realiza la sustitución hacia adelante.
Lo primero que se va a hacer es encontrar la factorización de A usando el algoritmo antes
mostrado; se tiene:
Ahora, haciendo una simple sustitución hacia adelante:
Luego una hacia atrás:
Y así conseguimos nuestro vector solución del sistema x.
Para realizar una verificación, hacemos la cuenta A*x – b (que tendría que dar 0, o algo
muy cercano a 0, considerando que la máquina trabaja con aproximaciones de números y no con
los números verdaderos)
Concluimos que los sentidos de las corrientes propuesto en la Figura 1 eran los reales, ya
que encontramos corrientes positivas.
10- Lo primero que haremos será cargar la matriz B para luego aplicarle las correspondientes
factorizaciones
Para este ejercicio necesitaremos, además de los algoritmos que habíamos enseñado en el
punto 9, el algoritmo de Doolittle con pivoteo parcial. Se procederá a mostrarlo:
Ahora aplicaremos el algoritmo de Doolittle y obtenemos:
La matriz residual que obtenemos al aplicar este método es:
Si aplicamos el algoritmo de Dolittle sin pivoteo parcial, se tiene:
Y la matriz residuo es:
Se obtienen diferencias entre las matrices residuales ya que al realizar el pivoteo parcial,
nos aseguramos que nuestro proceso nunca caiga en los casos donde se producen errores: estos
son cuando el pivote elegido es un número muy cercano a 0, o 0. Si no utilizamos pivoteo,
caeremos en una solución errónea propia de división por números pequeños: la máquina
representa con una cantidad finita de cifras a números que tienen infinitas cifras, entonces vamos
acumulando errores y alejándonos de la solución real en cada resta, suma, etc.
Como conclusión final, es muy importante darse cuenta qué algoritmo usar para cada
situación, ya que eso repercutirá en la solución final, la cual puede estar muy alejada de la solución
real, producto de estos errores.