Generalidades de Anatomía - Ayudantía de Cátedra AHCG .pdf
Victor valdebenitotarea1
1. 23 de Abril de 2014 TAREA Nº1
MAT270 Análisis Numérico
Víctor Valdebenito Silva
PAR. 200 – PROF. ANDREA ENGDAHL
2. UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA
DEPARTAMENTO DE MATEMÁTICAS
MAT270 ANÁLISIS NUMÉRICO
A.E.Y/F.G.M./V.V.S. 1
Tarea Nº1 – MAT270 Análisis Numérico
1. Problema Nº1
El programa desarrollado para resolver este problema es el programa llamado ‘problema1item1.m’, el
cual se vale de la función ‘desclu.m’, creada por el autor. Esta función opera bajo el siguiente principio:
Entrada(s) n
Salida(s) L, U, P, inv_A, inv_L, inv_U
Tabla 1.1. Modo de operar de la función ‘desclu.m’. Donde n es una matriz cuadrada de cualquier dimensión, L es la matriz de los
multiplicadores, U es la matriz triangular superior producto de las operaciones elementales, P es la matriz de permutación de
filas, inv_L es la inversa de la matriz L y inv_U es la inversa de la matriz U.
Para el problema, las matrices de entrada son:
Coeficientes de sensibilidad=
( 670.40.00.00.00.00.00.0
107.298.152990.00..00.00.00.0
108.21684.1850.90.00.00.00.0
3710.0110.10.028.110.00.00.0
043.3001.6420.405.1335.220.00.0
1200.01310.00730.00620.08620.070.270.0
1100.01820.02340.03170.02019.01650.087.16
)
Picos más relevantes =
( 7.119
7.63
2.84
7.82
0.186
1.65
1.17
)
La solución por factorización LU se hace de la siguiente forma:
𝑠𝑝 = ℎ
𝑃𝑠𝑝 = 𝑃ℎ
𝐿 𝑠 𝑈𝑠 𝑝 = 𝑃ℎ
𝑈𝑠 𝑝 = 𝐿 𝑠
−1
(𝑃ℎ)
𝑝 = 𝑈𝑠
−1
𝐿 𝑠
−1
(𝑃ℎ)
3. UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA
DEPARTAMENTO DE MATEMÁTICAS
MAT270 ANÁLISIS NUMÉRICO
A.E.Y/F.G.M./V.V.S. 2
El programa muestra el siguiente resultado:
Imagen 1.1. Resultado que arroja el programa al ingresar los datos del problema. Vale decir que estas presiones están en 𝜇𝑚𝐻𝑔.
Por otra parte, el método arroja el siguiente resultado:
Imagen 1.2. Solución al problema con .
Mostrado esto, es conveniente hacer una tabla que muestre cada valor de presión para compararlos. Se
toma como valor ideal el obtenido mediante el operador y se calcula una diferencia porcentual de
referencia para ver de una manera concreta cuánto se alejan las soluciones encontradas una de otra.
4. UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA
DEPARTAMENTO DE MATEMÁTICAS
MAT270 ANÁLISIS NUMÉRICO
A.E.Y/F.G.M./V.V.S. 3
problema1item1.m Diferencia porcentual (%)
0.6517 0.6525 0.1228
2.2015 2.2038 0.1048
0.4087 0.3348 18.08
6.4344 6.4344 0.0
2.9975 2.9975 0.0
0.5505 0.5505 0.0
25.6317 25.6317 0.0
Tabla 1.2. Comparación de resultados de los dos métodos.
Por su parte, la multiplicación de la matriz inversa de los coeficientes de sensibilidad por la matriz
misma es
Imagen 1.3. Multiplicación de la matriz de coeficientes de sensibilidad por su inversa.
Comparando con el valor dado de 39,78𝜇𝑚𝐻𝑔, ambos métodos tiene una diferencia que se debe a
errores de máquina que se arrastran de las operaciones. Este error es
𝑒 =
|38.876 − 39.78|
39.78
× 100 = 2.72%
𝑒 𝐿𝑈 =
|38.8052 − 39.78|
39.78
× 100 = 2.45%
Mayoritariamente, las diferencias son relativamente pequeñas dentro de los parámetros de trabajo y no
sobrepasan la unidad. Sin embargo, existe un error cuyo orden de magnitud escapa de todas las
diferencias porcentuales. Se puede decir que estas diferencias presentes existen debido a la cantidad de
operaciones que realiza tanto la función ‘desclu.m’ como el programa ‘problema1item1.m’, pues estos
ocupan eliminación gaussiana de parte de la función y un despeje algebraico implícito de parte del
programa. Estos dos procesos arrastran error de operación por multiplicaciones, divisiones y restas
hechas que hacen generar diferencias en los decimales de orden de magnitud más pequeño. El caso de
la diferencia relativa del 18% se deja como caso aislado para la resolución de este problema. Esta
diferencia se pudo haber debido a que al momento de generar un multiplicador para la eliminación
gaussiana haya quedado un número muy pequeño en un denominador. El producto de la matriz de los
coeficientes de sensibilidad por su inversa muestra términos iguales a -0.000, los cuales debieran ser
cero. Sin embargo, estos números son cantidades negativas muy pequeñas, que para la cantidad de
decimales ocupados, son prácticamente cero y dependen del formato que se ocupe (‘long’ o ‘short’).
5. UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA
DEPARTAMENTO DE MATEMÁTICAS
MAT270 ANÁLISIS NUMÉRICO
A.E.Y/F.G.M./V.V.S. 4
2. Problema Nº2
Se escoge el problema de las mallas de Kirchhoff.
La malla del problema es
Imagen 2.1. Malla del problema.
La suma de los voltajes dentro de una malla debe ser cero y la corriente que sale de un nodo debe ser
igual a la corriente que entra (LVK Y LCK). Se tiene entonces el siguiente sistema de ecuaciones:
Malla 1
220 − 5𝑖1 − 15(𝑖1 − 𝑖3) = 0
Malla 2
20𝑖3 + 𝑅(𝑖3 − 𝑖2) − 15(𝑖1 − 𝑖3) = 0
Malla 3
5𝑖2 + 10𝑖2 − 𝑅(𝑖3 − 𝑖2) = 0
En forma matricial:
(
−20 0 15
−15 −𝑅 35 + 𝑅
0 15 + 𝑅 −𝑅
) (
𝑖1
𝑖2
𝑖3
) = (
−220
0
0
)
El problema lo resuelve el programa ‘problema2.m’. Mediante la función ‘desclu.m’ el programa logra
dar con la solución.
Imagen 2.2. Solución al problema con el programa ‘problema2.m’
6. UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA
DEPARTAMENTO DE MATEMÁTICAS
MAT270 ANÁLISIS NUMÉRICO
A.E.Y/F.G.M./V.V.S. 5
Mediante el método se obtiene lo siguiente:
Imagen 2.3. Solución del problema ocupando .
Se hace la tabla de diferencias porcentuales:
Resistencia
[Ohm]
[A]
problema2.m
[A]
Diferencia
porcentual %
14.0909 15.50 10.00
5 1.3636 1.5000 10.00
5.4545 6.0000 10.00
13.6416 15.1597 11.13
10 1.3873 2.2185 59.92
4.8555 5.5462 14.23
13.4807 14.8287 10.00
20 2.6519 2.9171 10.00
4.6409 5.1050 10.00
Tabla 2.1. Resultados de los distintos métodos.
Existe una diferencia comparativa de ambos métodos de 10% para las resistencias de 5 y 20 Ohm. Para
la resistencia de 10 Ohm existe una brecha más marcada que los otros dos casos. Estas diferencias se
deben principalmente al número de operaciones hechas por cada método y la propagación de los
errores en los decimales.
A pesar de las diferencias de resultados, se sigue cumpliendo la Ley de Ohm, pues a mayor resistencia,
menor es la corriente que pasa por la malla.
7. UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA
DEPARTAMENTO DE MATEMÁTICAS
MAT270 ANÁLISIS NUMÉRICO
A.E.Y/F.G.M./V.V.S. 6
3. Problema Nº3
La matriz de los nodos se genera mediante la función ‘mallado.m’, la cual es una matriz netamente
representativa y sin valor numérico para el problema. Esta función tiene como entrada el tamaño del
rectángulo y el ancho de la malla entregando el mallado correspondiente tomando el origen en la
esquina inferior izquierda.
El caso presentado en este problema no es un problema particular, sino un caso general. Este tipo de
problemas se les llama problemas de Dirichlet, pues se conoce el valor de 𝑢(𝑥, 𝑦) en las fronteras del
problema. Al estar aplicado a la laplaciana ∇2
𝑢 = 0, se puede aproximar este problema a la ecuación
𝑢𝑖+1,𝑗 + 𝑢𝑖−1,𝑗 + 𝑢𝑖,𝑗+1 + 𝑢𝑖,𝑗−1 − 4𝑢𝑖,𝑗 = 0
Mediante un trabajo algebraico detallado en la presentación del problema.
Esta ecuación es conocida como fórmula de diferencias con cinco puntos.
Imagen 3.1. Representación de la ecuación de diferencias.
Por ejemplo, sea una malla de 5 × 5 para la cual se tendrá el siguiente sistema:
Imagen 3.2. Malla del ejemplo de 5 × 5.
8. UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA
DEPARTAMENTO DE MATEMÁTICAS
MAT270 ANÁLISIS NUMÉRICO
A.E.Y/F.G.M./V.V.S. 7
Esta malla se traduce en el sistema
Imagen 3.3. Sistema del ejemplo.
Si se es observador, para la ecuación de diferencias con cinco puntos se tiene un patrón en el sistema, lo
que lleva a que los sistemas modelados mediante esta forma cumplen con esta forma de sistema. Esta
matriz tiene un patrón en efecto y esta matriz se conoce como matriz pentadiagonal.
Para resolver el problema, se hace una función ‘pentadiagonal.m’ la cual recibe como entrada el tamaño
‘n’ (𝑛 − 2 × 𝑚 − 2 para el caso) y construye la matriz pentadiagonal del orden dado.
Se define como vector libre, al vector generado al introducir en un vector columna al lado derecho del
sistema mostrado en la imagen 3.3. Estos son los valores conocidos de la función 𝑢(𝑥, 𝑦), que más
adelante se verá, son los valores de los bordes o cero.
La función ‘cond_borde.m’ crea este vector libre tomando como entrada el largo y ancho del rectángulo
y la separación del mallado ℎ.
Teniendo el vector libre y la matriz pentadiagonal, se pueden conocer los valores de u(x,y) en otras
posiciones que no sean los bordes y así poder graficar la solución.
El programa ‘problema3.m’ resuelve el problema mediante el operador . La solución está contenida en
la matriz 𝑢 de la imagen 3.4. NOTA: el sistema de referencia toma a la esquina inferior izquierda como
el origen.
Imagen 3.4. Matriz solución al problema de Dirichlet (ecuación de Laplace).
Graficando este resultado se obtiene lo siguiente:
9. UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA
DEPARTAMENTO DE MATEMÁTICAS
MAT270 ANÁLISIS NUMÉRICO
A.E.Y/F.G.M./V.V.S. 8
Imagen 3.5. Gráfica de la solución encontrada para el problema.
Luego, para resolver el problema con el método de Gauss-Seidel, se crea el programa ‘gauss_seidel.m’.
Este programa es un rutero que resuelve para las condiciones dadas en este problema. El programa
pide una tolerancia, que en este caso es arbitraria. Se escoge una tolerancia de 0.0001 para presentar el
resultado, que por su extensión, se presenta como la imagen 3.5.
Imagen 3.6. Vector generado por el método de Gauss-Seidel.
10. UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA
DEPARTAMENTO DE MATEMÁTICAS
MAT270 ANÁLISIS NUMÉRICO
A.E.Y/F.G.M./V.V.S. 9
Se observa que los valores son esencialmente los mismos que con el método directo. Esto es debido a
que se tomó una tolerancia arbitraria adecuada para los decimales con los cuales trabaja el método
directo. Además de esto, el programa creado cuenta las iteraciones hechas. Estas fueron 28. NOTA: para
desarrollar este programa se utilizaron las funciones
- ‘matinf.m’: crea la matriz superior de una matriz.
- ‘matusp.m’: crea la matriz inferior de una matriz.
- ‘diagonal.m’: crea la matriz diagonal de una matriz.
Estos programas serán utilizados más adelante para el desarrollo de la función para resolver un
sistema por el método de Jacobi.
Además, el programa creado estudia de manera inmediata la convergencia del método, pues con la
condición de la línea 74 del programa se garantiza que la norma de la matriz de iteración de Gauss –
Seidel sea menor que 1. De otra forma lanza el mensaje ‘el algoritmo no converge’ y termina. La norma
para este caso es 0.4505.
Se concluye entonces, que este problema puede resolverse mediante el método de Guass – Seidel, pues
este converge y que no existe diferencia numérica relevante, pues el programa creado pide una
tolerancia y esta cubre las posibles diferencias entre los valores de un método a otro, pues solo se
trabaja con 4 decimales.
11. UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA
DEPARTAMENTO DE MATEMÁTICAS
MAT270 ANÁLISIS NUMÉRICO
A.E.Y/F.G.M./V.V.S. 10
4. Problema Nº4
La función ‘tridiag.m’ genera la matriz tridiagonal.
Entrada(s) Salida(s)
n,a,b,c X
Tabla 4.1 Modo de operar del programa para crea la matriz tridiagonal: n es el elemento de tamaño, a es el elemento diagonal, b
es el elemento inferior y c el elemento superior.
Para el problema, la matriz es
( 3200000000
1320000000
0132000000
0013200000
0001320000
0000132000
0000013200
0000001320
0000000132
0000000013
)
El método de Jacobi se hace mediante la función ‘jacobi.m’. Esta función se vale de las funciones
mencionadas anteriormente en una NOTA (matinf, matsup y diagonal).
Entrada(s) Salida(s)
A,b,tol X
Tabla 4.2 Modo de operar de la función ‘jacobi.m’. A es una matriz cualquiera (que para este caso será la tridiagonal), b es el
vector libre (que en este caso será un vector de unos de orden 10) y la tolerancia.
El método de Gauss – Seidel se programa como función en ‘gsp4.m’.
Entrada(s) Salida(s)
A,b,tol X
Tabla 4.3 Modo de operar de la función ‘gsp4.m’. A es una matriz cualquiera (que para este caso será la tridiagonal), b es el vector
libre (que en este caso será un vector de unos de orden 10) y la tolerancia.
Los resultados arrojados por estos programas son:
Imagen 4.1. Resultados con ambos métodos. Jacobi (izquierda) y Gauss – Seidel (derecha).
12. UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA
DEPARTAMENTO DE MATEMÁTICAS
MAT270 ANÁLISIS NUMÉRICO
A.E.Y/F.G.M./V.V.S. 11
La diferencia de ambas soluciones es observable a partir del noveno decimal. La diferencia es
considerable para el orden de magnitud de la tolerancia.
Para comparar los tiempos de cada iteración, se usan los comandos ‘tic y ‘toc’.
Para el método de Jacobi se tiene que demora 0.044117 segundos. Para el método de Gauss – Seidel se
tiene que demora 0.002791 segundos.
Estas diferencias de resultados y tiempos se deben principalmente al número de iteraciones y
operaciones que realiza el algoritmo para dar con la solución. Para uno se debía calcular la inversa de
una matriz diagonal y para otra la inversa de una matriz triangular inferior. Ambas operaciones tienen
su trabajo computacional y además arrastran error en los decimales finales de las soluciones, los cuales
son notorios si y sólo si se trabaja con format long.
Se puede decir que para este caso, el método de Gauss – Seidel converge más rápido a la solución que
Jacobi, sin embargo, esto no se puede decir para todos los sistemas. Sólo se puede decir si la matriz es
definida positiva.