métodos iterativos para sistemas de ecuaciones lineales
DESCRIPTION
Métodos iterativos para sistemas de ecuaciones lineales. Métodos iterativos para sistemas de ecuaciones lineales. Introducción Ecuación del Calor Método de Jacobi Método de Gauss-Seidel Método de Sobrerrelajación Problema del Condensador. DIRECTOS Ax =b x = A\ b Tamaño moderado - PowerPoint PPT PresentationTRANSCRIPT
Métodos iterativos para sistemas de ecuaciones
lineales
Métodos iterativos para sistemas de ecuaciones
lineales
Métodos iterativos para sistemas de ecuaciones
lineales
Métodos iterativos para sistemas de ecuaciones
linealesIntroducciónEcuación del CalorMétodo de JacobiMétodo de Gauss-SeidelMétodo de SobrerrelajaciónProblema del Condensador
Métodos directos frente a métodos iterativos
Métodos directos frente a métodos iterativos
DIRECTOSDIRECTOS
Ax =b
x = A\ b
Tamaño moderado
Modifican la estructura
Error de redondeo
ITERATIVOSITERATIVOS
x = Cx + d
x(k+1) = Cx(k) + d
Tamaño grande
Conservan los ceros
Error de truncamiento
Convergencia y número de operaciones
Convergencia y número de operaciones
Coste (para matrices densas) Directos: n3 Iterativos: k.n2
Convergencia Criterio de parada:
x x tol; p 1,2,...,inf(k+1) (k)
p
Ax b tol; p 1,2,...,inf(k)
p
Ecuación del CalorEcuación del Calor
Sistema de ec. lin. Matriz asociada
T (T T ) / 2
T (T T ) / 2
T (T T ) / 2
T (T T ) / 2
1 0 2
2 1 3
3 2 4
n n-1 n+1
2 - 1
- 1 2 - 1
- 1 2
- 1
- 1 2
T0 T1 T2 . . . Tn Tn+1
Matriz de la Ecuación del Calor con MATLAB
Matriz de la Ecuación del Calor con MATLAB
function A = mcalor1(n)v = ones(1,n-1);A = 2*eye(n) - diag(v,1) - diag(v,-1);
El método de JacobiEl método de Jacobi
Sistema de ecuaciones lineales
a x
a x
a x
a x
a x a x a x
a x a x a x
a x a x a x
a x a x a x
b
b
b
b
11 1
21 1
31 1
n1 n
12 2 13 3 1n n
22 2 23 3 2n n
32 2 33 3 3n n
n2 2 n3 3 nn n
1
2
3
n
Ecuación de punto fijoEcuación de punto fijo
x (b
x (b
x (b
x (b
a x a x a x ) / a
a x a x a x ) / a
a x a x a x ) / a
a x a x a x ) / a
1 1
1 2
2 3
n n
12 2 13 3 1n n 11
21 1 23 3 2n n 22
31 1 32 2 3n n 33
n1 1 n2 2 n,n 1 n 1 nn
Iteración de JacobiIteración de Jacobi
x (b
x (b
x (b
x (b
a x a x a x ) / a
a x a x a x ) / a
a x a x a x ) / a
a x a x a x ) / a
1(k+1)
1
2(k+1)
2
3(k+1)
3
n(k+1)
n
12 2(k)
13 3(k)
1n n(k)
11
21 1(k)
23 3(k)
2n n(k)
22
31 1(k)
32 2(k)
3n n(k)
33
n1 1(k)
n2 2(k)
n,n 1 n 1(k)
nn
Expresión matricialResolución con MATLAB
Expresión matricialResolución con MATLAB
U = triu(A,1); L = tril(A,-1);d = diag(A);x = (b-(L+U)*x)./d
A L D U
x D (b (L U)x )(k 1) 1 (k)
Condición suficiente de convergencia
Condición suficiente de convergencia
Matriz estrictamente diagonalmente estrictamente diagonalmente dominantedominante: para i=1,2,...,n
Si A es estrictamente diagonalmente estrictamente diagonalmente dominantedominante, los iterados de Jacobi convergen a la solución del sistema partiendo de cualquier estimación inicial.
|a | |a | |a | |a | |a |ii i1 i,i 1 i,i 1 in
Iteración de Gauss-SeidelIteración de Gauss-Seidel
x (b
x (b
x (b
x (b
a x a x a x ) / a
a x a x a x ) / a
a x a x a x ) / a
a x a x a x ) / a
1(k+1)
1
2(k+1)
2
3(k+1)
3
n(k+1)
n
12 2(k)
13 3(k)
1n n(k)
11
21 1(k+1)
23 3(k)
2n n(k)
22
31 1(k+1)
32 2(k+1)
3n n(k)
33
n1 1(k+1)
n2 2(k+1)
n,n 1 n 1(k+1)
nn
Expresión matricialResolución con MATLAB
Expresión matricialResolución con MATLAB
A L D U
(L D)x b Ux
x (L D) (b Ux )
(k 1) (k)
(k 1) 1 (k)
d = diag(A); D = diag(d);U = triu(A,1); L = tril(A,-1);x = (L + D)\(b - U*x)
Método de sobrerrelajaciónMétodo de sobrerrelajación
Gauss Seidel:
x x z
Sobrerrelajacion:
x x wz ; 0 < w < 2
z x x
x (1 w)x wx
i(k+1)
i(k)
i
i(k+1)
i(k)
i
i i(k+1)
i(k)
i(k+1)
i(k)
i(k+1)
xik
zi xik+1
ik+1x
Paso de sobrerrelajaciónPaso de sobrerrelajación
x (1 )x (b
x (1 )x (b
x (1 )x (b
x (1 )x (b
a x a x a x ) / a
a x a x a x ) / a
a x a x a x ) / a
1(k+1)
1(k)
1
2(k+1)
2(k)
2
3(k+1)
3(k)
3
n(k+1)
n(k)
n
12 2(k)
13 3(k)
1n n(k)
11
21 1(k+1)
23 3(k)
2n n(k)
22
31 1(k+1)
32 2(k+1)
3n n(k)
33
a x a x a x ) / an1 1(k+1)
n2 2(k+1)
n,n 1 n 1(k+1)
nn
Expresión matricialResolución con MATLAB
Expresión matricialResolución con MATLAB
D = diag(diag(A));c = *b; C = (1-)*D - *Ux = (L + D)\(c + C*x)
( L D)x (1 )Dx (b Ux(k+1) (k) (k) )
( L D)x b ((1 )D U)x(k+1) (k)
A L D U
Condición suficiente de convergencia
Condición suficiente de convergencia
Matriz simétrica definida positivasimétrica definida positiva:
AT = A, xTAx > 0
Si A es simétrica definida positivasimé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.
Ecuación del Calor en un rectángulo
Ecuación del Calor en un rectángulo
VC = (VN + VS + VE + VW)/4
C
N
EW
S
Generación de la matriz con MATLAB
Generación de la matriz con MATLAB
function A = mcalor2(m,n)p = m*n;v = ones(1,p-1);for k=n:n:p-1, v(k) = 0; endw = ones(1,p-n);
A = 4*eye(p) ...
- diag(v,1) - diag(v,-1) ... - diag(w,n) - diag(w,-n);