Escolar Documentos
Profissional Documentos
Cultura Documentos
Mtodos Directos e
Iterativos para Sistemas de
Ecuaciones Lineales
Sistemas de Ecuaciones
Lineales
La Ecuacin del Calor
Mtodos directos
Mtodo de Eliminacin de Gauss
Mtodos iterativos
Mtodo de Jacobi
Mtodo de Gauss-Seidel
Mtodo de Sobrerrelajacin
Ecuacin del Calor
T0 T1 T2 . . . Tn Tn+1
Teorema de Rouch-
Frobenius
El sistema Amnx = b es compatible si y slo 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
Solucin xc = xp + ncleo(A)
Eliminacin de Gauss
Operaciones elementales
Eliminar fila i tomando la fila k como pivote
lik = aik / akk , aij = aij - lik * akj
A(i,:) = A(i,:) - L(i,k)*A(k,:);
Escalar fila i dividindola por el pivote aii
aij = aij / aii
A(i,:) = A(i,:)/A(i,i);
Permutar las filas i y k
aik aki
A([i,k],:) = A([k,i],:);
Fases de la eliminacin
Sistema inicial Ax = b
Triangularizacin
Ux = c
Sustitucin regresiva
x = A1b
Temperatura en una barra
2 -1 0 0 T1 20
-1 2 -1 0 T2 0
0 -1 2 -1 T 0
3
-1
0 0 2 T4 70
Eliminacin 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);
Eliminacin 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);
Limitaciones de los Mtodos
Directos
Acumulacin del error de redondeo
Coste de la eliminacin: O(n3)
Sensibilidad al error de redondeo
Sistemas mal o bien condicionados
Nmero de condicin
Estrategia de Pivotacin Parcial
Llenado de la matriz
Matrices dispersas
Nmero de condicin de una
matriz
rcond y det
Pivotacin parcial
Ax =b Mx = (M-A)x + b
x = A\ b Mx(k+1) = (M-A) x(k) + b
Tamao moderado Tamao grande
Producen llenado Conservan los ceros
W C E
S
1
1 4 1
TC = (TW + TN + TS + TE)/4 1
Molcula
Generacin 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);
Un lado caliente
80
60
40
20
0
5
4 6
3 5
4
2 3
2
1 1
El mtodo de Jacobi
x (k+1)
1 (b1 - a x (k)
12 2 -a x (k)
13 3 - a x ) / a11
(k)
1n n
x (k+1)
2 (b2 - 21 1
a x (k)
- a x
23 3
(k)
- a 2nx(k)
n ) / a 22
x (k+1)
3 (b3 - a x (k)
31 1 -a x (k)
32 2 - a 3nxn ) / a 33
(k)
x (k+1)
n (bn - a x (k)
n1 1 -a x (k)
n2 2 - an,n-1xn-1 ) / ann
(k)
Expresin matricial
A = L + D + U
M = D, N = (L + U)
Mx = Nx + b
M = diag(diag(A))
N = M-A
x = M\(Nx0+b)
Algoritmo de Jacobi
Datos
Sistema lineal: Ax = b
Estimacin inicial: x0
Proceso: mientras no converja, repetir
Nueva estimacin: x = D1((D A)x0 + b)
Incremento: norm(x x0)
Actualizar: x0 = x
Resultado
Estimacin final: x
Iteracin de Gauss-Seidel
x (k+1)
1 (b1 - a x (k)
12 2 -a x (k)
13 3 - a x ) / a11
(k)
1n n
x (k+1)
2 (b2 - 21 1
a x (k+1)
- a x
23 3
(k)
- a 2nx(k)
n ) / a 22
x (k+1)
3 (b3 - a x (k+1)
31 1 -a x (k+1)
32 2 - a 3nxn ) / a 33
(k)
x (k+1)
n (bn - n1 1
a x (k+1)
- a x
n2 2
(k+1)
- an,n-1xn-1 ) / ann
(k+1)
Expresin matricial
A=L+D+U
M = L + D, N = U
Mx = Nx + b
M = tril(A)
N = M - A
x = M\(N*x0 + b)
Mtodo de sobrerrelajacin
Sobrerrelajacin
x (k +1)
i x zi
(k)
i
(k 1)
x (k +1)
i (1 - )x (k)
i xi
Expresin matricial
D
(L )x ( 1 -
(k +1)
D - U)x(k) b
Algoritmo de sobrerrelajacin
D = diag(diag(A))
L = tril(A,-1)
M = L + D/
N = M - A
x = M\(N*x0 + b)
Condiciones de convergencia