Métodos iterativos para sistemas de ecuaciones lineales
Métodos iterativos para sistemas de ecuaciones lineales <ul><li>Introducción </li></ul><ul><li>Ecuación del Calor </li></u...
Métodos directos frente a métodos iterativos <ul><li>DIRECTOS </li></ul><ul><li>Ax =b </li></ul><ul><li>x = A   b </li></u...
Convergencia y número de operaciones <ul><li>Coste (para matrices densas) </li></ul><ul><ul><li>Directos: n 3   Iterativos...
Ecuación del Calor <ul><li>Sistema de ec. lin. </li></ul><ul><li>Matriz asociada </li></ul>T 0 T 1 T 2   .  .  . T n T n+1
Matriz de la Ecuación del Calor con MATLAB <ul><li>function A = mcalor1(n) </li></ul><ul><li>v = ones(1,n-1); </li></ul><u...
El método de Jacobi <ul><li>Sistema de ecuaciones lineales </li></ul>
Ecuación de punto fijo
Iteración de Jacobi
Expresión matricial Resolución con MATLAB <ul><li>U = triu(A,1);   L = tril(A,-1); </li></ul><ul><li>d = diag(A); </li></u...
Condición suficiente de convergencia <ul><li>Matriz  estrictamente diagonalmente dominante : para i=1,2,...,n </li></ul><u...
Iteración de Gauss-Seidel
Expresión matricial Resolución con MATLAB <ul><li>d = diag(A); D = diag(d); </li></ul><ul><li>U = triu(A,1); L = tril(A,-1...
Método de sobrerrelajación x i k z i x i k+1 i k+1
Paso de sobrerrelajación
Expresión matricial Resolución con MATLAB <ul><li>D = diag(diag(A)); </li></ul><ul><li>c =   *b; C = (1-  ) *D -   *U <...
Condición suficiente de convergencia <ul><li>Matriz  simétrica definida positiva : </li></ul><ul><li>A T  = A,  x T Ax > 0...
Ecuación del Calor en un rectángulo <ul><li>V C  = (V N  + V S  + V E  + V W )/4 </li></ul>C N E W S
Generación de la matriz  con MATLAB <ul><li>function A = mcalor2(m,n) </li></ul><ul><li>p = m*n; </li></ul><ul><li>v = one...
Resumen <ul><li>Los métodos iterativos se aplican a matrices  grandes  y  dispersas . </li></ul><ul><li>El coste por itera...
Próxima SlideShare
Cargando en…5
×

Metodo Jacobiano

3.859 visualizaciones

Publicado el

  • Sé el primero en comentar

Metodo Jacobiano

  1. 1. Métodos iterativos para sistemas de ecuaciones lineales
  2. 2. Métodos iterativos para sistemas de ecuaciones lineales <ul><li>Introducción </li></ul><ul><li>Ecuación del Calor </li></ul><ul><li>Método de Jacobi </li></ul><ul><li>Método de Gauss-Seidel </li></ul><ul><li>Método de Sobrerrelajación </li></ul><ul><li>Problema del Condensador </li></ul>
  3. 3. Métodos directos frente a métodos iterativos <ul><li>DIRECTOS </li></ul><ul><li>Ax =b </li></ul><ul><li>x = A b </li></ul><ul><li>Tamaño moderado </li></ul><ul><li>Modifican la estructura </li></ul><ul><li>Error de redondeo </li></ul><ul><li>ITERATIVOS </li></ul><ul><li>x = Cx + d </li></ul><ul><li>x (k+1) = Cx (k) + d </li></ul><ul><li>Tamaño grande </li></ul><ul><li>Conservan los ceros </li></ul><ul><li>Error de truncamiento </li></ul>
  4. 4. Convergencia y número de operaciones <ul><li>Coste (para matrices densas) </li></ul><ul><ul><li>Directos: n 3 Iterativos: k.n 2 </li></ul></ul><ul><li>Convergencia </li></ul><ul><li>Criterio de parada: </li></ul>
  5. 5. Ecuación del Calor <ul><li>Sistema de ec. lin. </li></ul><ul><li>Matriz asociada </li></ul>T 0 T 1 T 2 . . . T n T n+1
  6. 6. Matriz de la Ecuación del Calor con MATLAB <ul><li>function A = mcalor1(n) </li></ul><ul><li>v = ones(1,n-1); </li></ul><ul><li>A = 2*eye(n) - diag(v,1) - diag(v,-1); </li></ul>
  7. 7. El método de Jacobi <ul><li>Sistema de ecuaciones lineales </li></ul>
  8. 8. Ecuación de punto fijo
  9. 9. Iteración de Jacobi
  10. 10. Expresión matricial Resolución con MATLAB <ul><li>U = triu(A,1); L = tril(A,-1); </li></ul><ul><li>d = diag(A); </li></ul><ul><li>x = (b-(L+U)*x)./d </li></ul>
  11. 11. Condición suficiente de convergencia <ul><li>Matriz estrictamente diagonalmente dominante : para i=1,2,...,n </li></ul><ul><li>Si A es estrictamente diagonalmente dominante , los iterados de Jacobi convergen a la solución del sistema partiendo de cualquier estimación inicial. </li></ul>
  12. 12. Iteración de Gauss-Seidel
  13. 13. Expresión matricial Resolución con MATLAB <ul><li>d = diag(A); D = diag(d); </li></ul><ul><li>U = triu(A,1); L = tril(A,-1); </li></ul><ul><li>x = (L + D)(b - U*x) </li></ul>
  14. 14. Método de sobrerrelajación x i k z i x i k+1 i k+1
  15. 15. Paso de sobrerrelajación
  16. 16. Expresión matricial Resolución con MATLAB <ul><li>D = diag(diag(A)); </li></ul><ul><li>c =  *b; C = (1-  ) *D -  *U </li></ul><ul><li>x = (  L + D)(c + C*x) </li></ul>
  17. 17. Condición suficiente de convergencia <ul><li>Matriz simétrica definida positiva : </li></ul><ul><li>A T = A, x T Ax > 0 </li></ul><ul><li>Si A es simétrica definida positiva y 0< w <2, los iterados de SR convergen a la única solución del sistema, partiendo de cualquier estimación inicial . </li></ul>
  18. 18. Ecuación del Calor en un rectángulo <ul><li>V C = (V N + V S + V E + V W )/4 </li></ul>C N E W S
  19. 19. Generación de la matriz con MATLAB <ul><li>function A = mcalor2(m,n) </li></ul><ul><li>p = m*n; </li></ul><ul><li>v = ones(1,p-1); </li></ul><ul><li>for k=n:n:p-1, v(k) = 0; end </li></ul><ul><li>w = ones(1,p-n); </li></ul><ul><li>A = 4*eye(p) ... </li></ul><ul><li> - diag(v,1) - diag(v,-1) ... - diag(w,n) - diag(w,-n); </li></ul>
  20. 20. Resumen <ul><li>Los métodos iterativos se aplican a matrices grandes y dispersas . </li></ul><ul><li>El coste por iteración es O(n 2 ) o menor si se aprovecha la dispersidad </li></ul><ul><li>Se espera que converjan en menos de n pasos. </li></ul><ul><li>La matriz ha de cumplir ciertas condiciones para que el método converja. </li></ul>

×