1 / 62

La Universidad del Zulia Facultad de Ingenier a Divisi n de Estudios para Graduados

Motivaci?n. En el tema anterior (Ra?ces de ecuaciones) se estudiaron m?todos para determinar el valor de x que satisface a una sola ecuaci?n, f(x) = 0Ahora, nos ocuparemos del caso para determinar los valores de x1, x2,? xn que en forma simult?nea satisfacen a un conjunto de ecuaciones algebraica

gefen
Télécharger la présentation

La Universidad del Zulia Facultad de Ingenier a Divisi n de Estudios para Graduados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    2. Motivacin En el tema anterior (Races de ecuaciones) se estudiaron mtodos para determinar el valor de x que satisface a una sola ecuacin, f(x) = 0 Ahora, nos ocuparemos del caso para determinar los valores de x1, x2, xn que en forma simultnea satisfacen a un conjunto de ecuaciones algebraicas lineales

    3. Motivacin Estudiaremos mtodos para resolver conjuntos de ecuaciones algebraicas lineales que son de la forma general,

    4. Mtodos empleados antes de la era de las computadoras Para pocas ecuaciones (n = 3), las ecuaciones lineales se pueden resolver con rapidez mediante tcnicas simples Mtodo grfico Para n = 2 ? la solucin corresponde a la interseccin de lneas rectas Para n = 3 ? cada ecuacin representa un plano. La solucin corresponde al punto donde se intersectan los 3 planos Para n > 3 ? los mtodos grficos no funcionan Caso que pueden ocasionar problemas

    5. Mtodos empleados antes de la era de las computadoras Determinantes y Regla de Cramer Determinante de una matriz de coeficientes 2?2 Determinante de una matriz de coeficientes 3?3

    6. Mtodos empleados antes de la era de las computadoras

    7. Mtodos empleados antes de la era de las computadoras Regla de Cramer Cada incgnita en un sistema de ecuaciones algebraicas lineales puede ser expresada como una fraccin de dos determinantes El denominador es el determinante de la matriz de coeficientes El numerador es el determinante de una matriz en la cual se reemplaza la columna de coeficientes de la incgnita por el vector de constantes {B}

    8. Ecuaciones algebraicas lineales y prctica de la ingeniera Muchas de las ecuaciones fundamentales de ingeniera estn basadas en leyes de conservacin En trminos matemticos, esos principios conducen a ecuaciones de balance que relacionan el comportamiento del sistema con las propiedades o caractersticas y los estmulos externos que actan sobre el sistema En el captulo anterior se trabaj con sistemas de un solo componente que resultaba en una sola ecuacin que se resolva con mtodos de clculo de races Los sistemas multicomponentes resultan en un conjunto agrupado de ecuaciones matemticas que deben ser resueltas simultneamente

    9. Ecuaciones algebraicas lineales y prctica de la ingeniera Problemas multicomponentes surgen tanto de modelos matemticos de variables agrupadas como de variables distribuidas Los problemas de variables agrupadas involucran componentes finitos acoplados Armaduras Reactores Circuitos elctricos Los problemas de variables distribuidas intentan describir detalles espaciales de los sistemas sobre una base continua Las ecuaciones diferenciales derivadas a partir de leyes de conservacin especifican la distribucin de la variable dependiente para tales sistemas Esas ecuaciones se pueden resolver numricamente al convertirlas en un sistema equivalente de ecuaciones algebraicas simultneas

    10. Ecuaciones algebraicas lineales y prctica de la ingeniera Adems de los problemas fsicos, las ecuaciones algebraicas lineales simultneas surgen tambin en diferentes contextos de problemas matemticos Algunas tcnicas numricas de uso general que emplean ecuaciones simultneas son el anlisis de regresin y la interpolacin segmentaria

    11. Antecedentes matemticos necesarios Notacin matricial En la solucin de ecuaciones algebraicas lineales No. de ecuaciones = No. de filas No. de variables = No. de columnas

    12. Antecedentes matemticos necesarios Operaciones de matrices Suma Multiplicacin de una matriz por un escalar: se multiplica cada elemento de la matriz por el escalar Multiplicacin de dos matrices

    13. Antecedentes matemticos necesarios Operaciones de matrices Divisin: la divisin de una matriz no es una operacin definida sin embargo, si una matriz A es cuadrada y no singular, existe otra matriz A-1, llamada inversa de A para la cual A?A-1 = A-1?A=I Transpuesta de una matriz: consiste en transformar sus filas en columnas y viceversa Traza de una matriz: es la suma de los elementos de su diagonal principal

    14. Representacin de ecuaciones algebraicas lineales en forma matricial Una manera formal para obtener la solucin usando algebra matricial es multiplicando cada lado de la ecuacin por la inversa de A

    15. Mtodos numricos para la solucin de ecuaciones algebraicas lineales Eliminacin de Gauss Descomposicin LU ? valiosa para casos donde se necesita evaluar muchos vectores del lado derecho. Permite hacer eficiente el clculo de la matriz inversa Tcnicas eficientes para la solucin de sistemas tridiagonales (matrices en banda) Mtodo de Gauss-Seidel ? mtodo iterativo

    16. Eliminacin de Gauss Este mtodo involucra una combinacin de ecuaciones para eliminar las incgnitas Es uno de los mtodos ms antiguos y sigue siendo uno de los algoritmos de mayor importancia

    17. Eliminacin de Gauss Eliminacin de incgnitas La estrategia bsica es multiplicar las ecuaciones por constantes, de tal forma que se elimine una de las incgnitas cuando se combinen las ecuaciones El resultado es una sola ecuacin que se puede resolver para la incgnita restante Este valor se sustituye en las ecuaciones originales para calcular la otra variable Este mtodo representa la base para la eliminacin de Gauss Se puede extender a grandes sistemas de ecuaciones desarrollando un esquema sistemtico para eliminar incgnitas y sustituir hacia atrs

    18. Eliminacin de Gauss Eliminacin de Gauss simple ? el mtodo consiste en dos fases Eliminacin de incgnitas Reduce el conjunto de ecuaciones a un sistema triangular superior Primero se elimina la primera incgnita, x1, desde la segunda hasta la n-ensima fila, multiplicando por a21/a11 a la primera ecuacin, luego restando sta a la segunda El procedimiento es repetido para las ecuaciones restantes Para este paso la ecuacin 1 es la ecuacin pivote y a11 es el coeficiente pivote Solucin por sustitucin hacia atrs Al finalizar la eliminacin, la ecuacin n puede resolverse para xn

    19. Eliminacin de Gauss Seudo cdigo DO k = 1, n-1 DO i = k+1, n Factor = ai,k/ak,k DO j = k+1, n ai,j = ai,j - factor * ak,j END DO bi = bi -factor * bk END DO END DO xn =bn / an,n DO i = n-1, 1, -1 sum = 0 DO j = i+1, n sum = sum + ai,j * xj END DO xi = (bi - sum) / ai,i END DO

    20. Eliminacin de Gauss Ejemplo Eliminacin

    21. Eliminacin de Gauss Nmero de operaciones de punto flotante para Gauss simple Para un sistema que se hace cada vez ms grande, el tiempo de clculo se incrementa considerablemente La mayor parte del esfuerzo ocurre en el paso de la eliminacin. Por lo que se hace necesario hacer ms eficiente el procedimiento

    22. Desventajas del mtodo de eliminacin de Gauss Divisin entre cero Durante las fases de eliminacin y sustitucin es posible que ocurra divisin entre cero Tambin se pueden presentar problemas cuando el coeficiente es muy cercano a cero Para evitar estos problemas se utiliza una tcnica de pivoteo

    23. Desventajas del mtodo de eliminacin de Gauss Errores de redondeo Debido a que las computadoras manejan slo un nmero limitado de cifras significativas, pueden ocurrir errores de redondeo y se deben considerar al evaluar los resultados Estos errores pueden ser importantes para sistemas con un gran nmero de ecuaciones Debido a que cada resultado depende del anterior, el error de los primeros pasos tiende a propagarse Una regla general es la de suponer que los errores de redondeo son importantes cuando n = 100 Siempre se debe sustituir los resultados en las ecuaciones originales y verificar si ha ocurrido un error sustancial

    24. Desventajas del mtodo de eliminacin de Gauss Sistemas mal condicionados Sistemas bien condicionados son aquellos en los que un pequeo cambio en uno o ms coeficientes provoca un pequeo cambio en la solucin Sistemas mal condicionados son aquellos en donde pequeos cambios en los coeficientes generan grandes cambios en la solucin Es decir un amplio rango de soluciones puede satisfacer las ecuaciones en forma aproximada Los errores de redondeo pueden inducir pequeos cambios en los coeficientes, si el sistema est mal condicionado estos cambios artificiales pueden generar grandes errores en la solucin

    25. Desventajas del mtodo de eliminacin de Gauss Sistemas mal condicionados Ejemplo Cambiando a21 de 1.1 a 1.05 sustituyendo en las ecuaciones originales

    26. Desventajas del mtodo de eliminacin de Gauss Sistemas mal condicionados Esta situacin se puede caracterizar de forma matemtica, escribiendo las ecuaciones en su forma general Arreglando las ecuaciones en un formato de lneas rectas Si las pendientes son casi iguales

    27. Desventajas del mtodo de eliminacin de Gauss Sistemas singulares Son aquellos donde dos o ms ecuaciones son iguales En el caso donde dos ecuaciones son iguales se pierde un grado de libertad siendo imposible resolver el problema de n-1 ecuaciones con n incgnitas Tales casos podran no ser obvios cuando se trabaja con grandes conjuntos de ecuaciones Se hace necesario tener una forma que de manera automtica detecte la singularidad del sistema Esto se logra debido al hecho de que el determinante de un sistema singular es cero Durante el proceso de eliminacin se chequea si un elemento de la diagonal es cero, al descubrir uno se puede terminar inmediatamente y generar una excepcin o mensaje de error

    28. Tcnicas para mejorar las soluciones del mtodo de eliminacin de Gauss Uso de ms cifras significativas La solucin ms simple para el mal condicionamiento es usar ms cifras significativas en los clculos El uso de la precisin expandida tiene un precio que se eleva en forma de tiempo de clculo y cantidad de memoria Pivoteo Ocurren problemas de divisin por cero cuando el coeficiente pivote es cero Cuando el coeficiente pivote es cercano a cero se pueden introducir errores de redondeo, porque su magnitud puede ser muy pequea al compararla con la de los dems coeficientes Para evitar esto se utiliza el pivoteo parcial

    29. Tcnicas para mejorar las soluciones del mtodo de eliminacin de Gauss Pivoteo parcial Antes de normalizar cada fila, se determina el mayor coeficiente pivote disponible en la columna que est por debajo del elemento pivote Las filas se intercambian de manera tal que el coeficiente ms grande sea el pivote Ventajas del pivoteo parcial Evita la divisin entre cero Minimiza el error de redondeo

    30. Tcnicas para mejorar las soluciones del mtodo de eliminacin de Gauss Pivoteo parcial Ejemplo

    31. Seudo cdigo para implementar el pivoteo parcial Se puede usar como una subrutina que podra ser llamada directamente despus del inicio del primer ciclo de eliminacin Aqu se intercambian de forma fsica las filas. Para grandes matrices esto puede consumir mucho tiempo Lo que se hace es no intercambiar las filas sino que se guarda el orden de los pivotes en un vector, y segn este orden se llevan a cabo las operaciones de eliminacin y sustitucin SUB pivot(a, b, n, k) p = k big = abs(ak,k) DO ii = k+1, n dummy = abs(aii,k) IF (dummy > big) big = dummy p = ii END IF END DO IF (p ? k) DO jj = k, n dummy = ap,jj ap,jj = ak,jj ak,jj = dummy END DO dummy = bp bp = bk bk = dummy END IF

    32. Tcnicas para mejorar las soluciones del mtodo de eliminacin de Gauss Escalamiento El escalamiento revela si el pivoteo es necesario Si es necesario, se pivotea pero se retienen los coeficientes originales de la ecuacin escalada El escalamiento se usa para calcular los valores escalados de los coeficientes que servirn como un criterio de pivoteo Ejemplo

    33. Descomposicin LU e Inversin de matrices Descomposicin LU El principal atractivo de este mtodo es que el paso de eliminacin, que consume tiempo, se puede reformular de tal manera que involucre slo operaciones sobre los elementos de la matriz de coeficientes, A De esta forma, es muy adecuado para aquellas situaciones donde se debe evaluar muchos vectores {B} El mtodo de eliminacin de Gauss puede implementarse como una descomposicin LU La descomposicin LU proporciona un medio eficaz para calcular la matriz inversa, la cual a su vez permite evaluar la condicin de un sistema

    34. Descomposicin LU Partiendo de un sistema de ecuaciones lineales de la forma, Este se puede ordenar como, El primer paso de la eliminacin de Gauss resulta en un sistema con una matriz tringular superior Que puede ser expresada como, Ahora, suponga que existe una matriz triangular inferior con nmeros 1 sobre la diagonal que tiene la siguiente propiedad si esta propiedad se cumple, de las reglas de multiplicacin de matrices se obtiene,

    35. Descomposicin LU Estrategia para resolver el sistema Paso de descomposicin LU: la matriz [A], se factoriza o descompone en matrices triangulares inferior [L] y superior [U] Paso de sustitucin: [L] y [U] se usan par determinar una solucin {X} para un vector {B}. Este paso consta de dos subpasos: Se determina el vector intermedio {D} resolviendo [L]{D}={B} por sustitucin hacia delante, debido a que [L] es una matriz triangular inferior Se determina {X} resolviendo [U]{X}={D} por sustitucin hacia atrs

    36. Descomposicin LU Descomposicin LU con base en la eliminacin de Gauss Partiendo de una matriz de coeficientes, se llega a una matriz triangular superior Para llegar a esta matriz [U]

    37. Descomposicin LU Descomposicin LU con base en la eliminacin de Gauss Paso de descomposicin LU: la matriz [A], se factoriza o descompone en matrices triangulares inferior [L] y superior [U] Paso de sustitucin: [L] y [U] se usan par determinar una solucin {X} para un vector {B}. Este paso consta de dos subpasos: Se determina el vector intermedio {D} resolviendo [L]{D}={B} por sustitucin hacia delante Se determina {X} resolviendo [U]{X}={D} por sustitucin hacia atrs

    38. Seudo cdigo para descomposicin LU

    39. Seudo cdigo para descomposicin LU

    40. Seudo cdigo para descomposicin LU

    41. Matriz inversa Para una matriz cuadrada [A], hay otra matriz [A]-1 conocida como la inversa de [A], para la cual se cumple, [A] [A]-1 = [A]-1[A] = I La matriz inversa se puede calcular en una forma de columna por columna a partir de vectores unitarios como vector de constantes del sistema de ecuaciones lineales algebraicas Por ejemplo, para determinar la primera columna de la matriz inversa se resuelve el sistema con el vector de constantes B=[1 0 0]T para determinar la segunda columna se usa B=[0 1 0]T y as sucesivamente

    42. Matriz inversa La descomposicin LU representa la mejor forma para implementar el clculo de la matriz inversa, ya que una vez obtenida la descomposicin LU de la matriz A se puede calcular su inversa resolviendo cada columna con los vectores unitarios como constantes Ejemplo: Determinar la inversa de

    43. Anlisis de error y condicin del sistema La matriz inversa permite determinar si un sistema est mal condicionado, para esto existen 3 mtodos: Escalar la matriz de coeficientes [A], de tal manera que el elemento ms grande en cada fila sea 1. Si al invertir la matriz escalada existen elementos de la inversa [A]-1 que sean varios ordenes de magnitud mayores que la unidad, es probable que el sistema est mal condicionado Multiplicar la inversa por la matriz de coeficientes original y verificar que [A][A]-1 ? I. Si no es as, indica que el sistema est mal condicionado Invertir la matriz inversa y verificar que el resultado est lo suficientemente cercano a la matriz original. Si no es as, indica que el sistema est mal condicionado

    44. Nmero de condicin de una matriz Este nmero mide la sensibilidad de la solucin de un sistema de ecuaciones lineales a errores en los datos Valores cercanos a 1 indican que el sistema est bien condicionado Valores grandes indican que la matriz es casi singular

    45. Nmero de condicin de una matriz Norma 2, o normal espectral ?max es el eigenvalor ms grande de [A]T[A]. Esta es la la norma mnima, por lo tanto proporciona la medida de tamao ms ajustada

    46. Matrices especiales Matrices banda Matrices simtricas Una matriz banda es una matriz cuadrada en la que todos sus elementos son cero, con excepcin de una banda centrada sobre la diagonal principal

    47. Matrices especiales La eliminacin de Gauss o la descomposicin LU pueden emplearse para resolver sistemas de banda, pero si el pivoteo no es necesario resultan ineficientes, porque se utilizara tiempo y espacio innecesario en el almacenamiento y manejo de ceros Si se sabe de antemano que el pivoteo es innecesario, se pueden desarrollar algoritmos muy eficientes que no involucren los elementos cero fuera de la banda

    48. Sistemas tridiagonales Un sistema tridiagonal (ancho de banda = 3) se puede expresar como Se cambia la notacin a ? e, f, g b ? r para evitar guardar ceros, ahorrando espacio

    49. Sistemas tridiagonales Ejemplo

    50. Algoritmo de Thomas (TDMA, tridiagonal matrix algorithm) El algoritmo consiste en tres pasos: Descomposicin Sustitucin hacia delante Sustitucin hacia atrs Manteniendo todas las ventajas de la descomposicin LU

    51. Seudo cdigo para algoritmo de Thomas a) Descomposicin DO k = 2, n ek = ek/fk-1 fk = fk - ek*gk-1 END DO b) Sustitucin hacia adelante DO k = 2,n rk = rk - ek*rk-1 END DO c) Sustitucin hacia atrs xn = rn/fn DO k = n-1,1,-1 xk = (rk - gk*xk+1)/fk END DO

    52. Descomposicin de Cholesky La descomposicin o factorizacin de Cholesky expresa una matriz simtrica como el producto de una matriz triangular y su transpuesta A = LLT ? L: matriz triangular inferior No todas las matrices simtricas se pueden factorizar de esta forma Las matrices que tienen este tipo de factorizacin son las matrices simtricas definidas positivas. Esto implica que todos los elementos de la diagonal sean positivos y que los elementos fuera de la diagonal no sean muy grandes

    53. Descomposicin de Cholesky Los trminos de la descomposicin se pueden multiplicar entre si. El resultado se puede expresar en forma simple por relaciones recurrentes Para la fila k

    54. Descomposicin de Cholesky Ejemplo,

    55. Seudo cdigo para la descomposicin de Cholesky for k = 1:n for i = 1:k-1 sum = 0; for j = 1:i-1 sum = sum + A(i,j)*A(k,j); end A(k,i) = (A(k,i) - sum)/A(i,i); end sum = 0; for j = 1:k-1 sum = sum + A(k,j)^2; end A(k,k) = sqrt(A(k,k) - sum); end

    56. Mtodo de Gauss-Seidel Este es un mtodo iterativo Dado un conjunto de ecuaciones, AX = B Si los elementos de la diagonal son diferentes de cero, se puede resolver la ecuacin i para la variable i, donde i = 1n Se puede empezar el proceso de solucin al escoger los valores iniciales de las variables x (xi = 0)

    57. Mtodo de Gauss-Seidel Los valores iniciales se sustituyen en la primera ecuacin para calcular un nuevo valor para x1 Este nuevo valor de x1 junto con los dems valores iniciales se sustituyen en la segunda ecuacin para calcular un nuevo valor para x2 Este proceso se repite hasta calcular los nuevos valores de las n variables Despus se regresa a la primera ecuacin y se repite todo el procedimiento hasta que la solucin converja a la solucin real La convergencia se puede verificar usando el criterio,

    58. Criterio de convergencia del mtodo de Gauss-Seidel Este mtodo es similar en esencia al mtodo de iteracin de punto de fijo que se usa para el clculo de races de una ecuacin Presenta las mismas desventajas: En algunos casos no converge En algunos casos la convergencia es lenta Las condiciones suficientes para la convergencia de dos ecuaciones no lineales tambin aplican para ecuaciones lineales cuando se usa Gauss-Seidel

    59. Criterio de convergencia del mtodo de Gauss-Seidel En el caso de dos ecuaciones el mtodo de Gauss-Seidel se expresa como Las derivadas parciales de estas ecuaciones con respecto a las variables son Para que se cumplan las condiciones suficientes de convergencia

    60. Criterio de convergencia del mtodo de Gauss-Seidel El valor absoluto de la pendiente de las ecuaciones rectas debe ser menor que la unidad para asegurar convergencia Rerformulando, El elemento diagonal debe ser mayor que el elemento fuera de la diagonal para cada fila (sistemas diagonal dominantes) Generalizando para n ecuaciones El criterio es suficiente pero no necesario para convergencia

    61. Mejoras a la convergencia por medio de relajacin La relajacin representa una ligera modificacin al mtodo de Gauss-Seidel y est diseada para mejorar la convergencia Despus de calcular cada nuevo valor de x, ese valor se modifica por un promedio ponderado de los resultados de las iteraciones anterior y actual: ?: es el coeficiente de relajacin que tiene un valor entre 0 y 2 Si ? = 1 ? el resultado no se modifica Si 0 < ? < 1 ? el resultado es un promedio ponderado de xinuevo y xianterior (subrelajacin), se usa para hacer que un sistema no convergente, converja o converja ms rpido al amortiguar sus oscilaciones Si 1 < ? < 2 ? se le da una ponderacin extra al valor actual (sobrerelajacin), acelera la convergencia de un sistema que ya es convergente. Tambin es conocida como sobrerelajacin simultnea o sucesiva, SOR

    62. Seudo cdigo para el mtodo de Gauss-Seidel con relajacin SUBROUTINE Gseid(a,b,n,x,imax,es,lambda) for i = 1:n dummy = a(i,i); for j = 1:n a(i,j) = a(i,j)/dummy; end b(i) = b(i)/dummy; end for i = 1:n sum = b(i); for j = 1:n if i ~= j sum = sum - a(i,j)*x(j); end end x(i) = sum; end iter = 1; while iter < maxIteraciones sentinel = 1; for i = 1:n old = x(i); sum = b(i); for j = 1:n if i ~= j sum = sum - a(i,j)*x(j); end end x(i) = lambda * sum +(1.0-lambda)*old; if sentinel == 1 AND x(1) ~= 0.0 ea = abs((x(i)-old)/x(i))*100; if ea > es sentinel = 0; end end end iter = iter + 1; if sentinel == 1 break end end

More Related