Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porMartín Muñoz Navarro Modificado hace 9 años
1
Práctica 4-5 Métodos Directos e Iterativos para Sistemas de Ecuaciones Lineales
2
Sistemas de Ecuaciones Lineales La Ecuación del Calor Métodos directos Método de Eliminación de Gauss Métodos iterativos Método de Jacobi Método de Gauss-Seidel Método de Sobrerrelajación
3
Ecuación del Calor Modelo matemático Matriz asociada T 0 T 1 T 2...T n T n+1
4
Teorema de Rouché- Frobenius El sistema A mn x = b es compatible si y sólo si rango(A) = rango(A|b) Un sistema compatible es determinado sii rango(A) = n Un sistema compatible indeterminado tiene n – rango(A) variables libres Solución x c = x p + núcleo(A)
5
Eliminación de Gauss Operaciones elementales Eliminar fila i tomando la fila k como pivote l ik = a ik / a kk, a ij = a ij l ik * a kj A(i,:) = A(i,:) - L(i,k)*A(k,:); Escalar fila i dividiéndola por el pivote a ii s a ij = a ij / a ii A(i,:) = A(i,:)/A(i,i); Permutar las filas i y k s a ik a ki s A([i,k],:) = A([k,i],:);
6
Sistema inicial Triangularización Sustitución regresiva Fases de la eliminación Ax = b Ux = c x = A –1 b
7
Temperatura en una barra Nodos n = 4 Condiciones de contorno T 0 =20 T 5 =70 Sistema lineal 20T 1 T 2 T 3 T 4 70
8
Resolución del sistema
9
Eliminación en sistemas lineales tridiagonales Ax = b n = length(b); M = [A,b]; for i=1:n-1 M(i,:) = M(i,:)/M(i,i); M(i+1,:) = M(i+1,:)- M(i+1,i)*M(i,:);end M(n,:) = M(n,:)/M(n,n);
10
Eliminación en sistemas lineales tridiagonales Ax = b for i = n-1:-1:1 M(i,:) = M(i,:)- M(i,i+1)*M(i+1,:); end x = M(:,n+1);
11
Limitaciones de los Métodos Directos Acumulación del error de redondeo Coste de la eliminación: O(n 3 ) Sensibilidad al error de redondeo Sistemas mal o bien condicionados Número de condición Estrategia de Pivotación Parcial Llenado de la matriz Matrices dispersas
12
Número de condición de una matriz cond mide el mal condicionamiento cond(eye(n))=1 cond(matsingular) = inf rcond mide el buen condicionamiento rcond(eye(n))=1 rcond(matsingular) = 0 rcond y det
13
Pivotación parcial Un algoritmo deficiente puede arruinar un sistema bien condicionado. Estrategia: Elegir como pivote el elemento de mayor valor absoluto del resto de la columna. El operador \ para resolver Ax = b
14
Métodos Iterativos para Sistemas de Ecuaciones Lineales
15
Métodos directos frente a métodos iterativos DIRECTOS Ax =b x = A\ b Tamaño moderado Producen llenado Error de redondeo ITERATIVOS Mx = (M A)x + b Mx (k+1) = (M A) x (k) + b Tamaño grande Conservan los ceros Error de truncamiento
16
Convergencia y número de operaciones Coste (para matrices densas) Directos: n 3 Iterativos: k.n 2 Directos: n 3 Iterativos: k.n 2 Convergencia Criterio de parada iter < maxiter
17
Ecuación del Calor en un rectángulo T C = (T W + T N + T S + T E )/4 C C N N E E W W S S –1 4 4 Molécula
18
Generación de la matriz con MATLAB function A = calor2D(n,m) p = n*m; v = ones(1,p-1); for k = n:n:p-n, v(k) = 0; end w = ones(1,p-n); A = 4*eye(p)... - diag(v,1) - diag(v,-1)... - diag(w,n) - diag(w,-n);
19
Un lado caliente
20
El método de Jacobi Sistema de ecuaciones lineales
21
Iteración de Jacobi
22
A = L + D + U M = D, N = – (L + U) Mx = Nx + b Expresión matricial » M = diag(diag(A)) » N = M-A » x = M\(Nx 0 +b)
23
Algoritmo de Jacobi Datos Sistema lineal:Ax = b Estimación inicial: x 0 Proceso: mientras no converja, repetir Nueva estimación: x = D –1 ((D – A)x 0 + b) Incremento:norm(x – x 0 ) Actualizar:x 0 = x Resultado Estimación final:x
24
Iteración de Gauss-Seidel
25
A = L + D + U M = L + D, N = –U Mx = Nx + b Expresión matricial » M = tril(A) » N = M - A » x = M\(N*x 0 + b)
26
Gauss-Seidel Sobrerrelajación Método de sobrerrelajación xikxik zizi x i k+1 i k+1
27
Expresión matricial
28
Algoritmo de sobrerrelajación » D = diag(diag(A)) » L = tril(A,-1) » M = L + D/ » N = M - A » x = M\(N*x 0 + b)
29
Condiciones de convergencia Para que un método iterativo converja, la matriz ha de cumplir ciertas condiciones. El coste por iteración es O(n 2 ) o menor si se aprovecha la dispersidad. Se espera que converjan en menos de n pasos. Los métodos iterativos se aplican a matrices grandes y dispersas.
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.