Está en la página 1de 31

CALCULO AVANZADO

Unidad Temtica N1: Modelos matemticos, races


de ecuaciones, sistemas algebraicos.

Bibliografa:
Mtodos Numricos para Ingenieros. Chapra, S.; Canale, R. Ed. McGraw-Hill.
Mtodos Numricos con MATLAB. Mathews, J.;Fink, K. Ed. Prentice Hall.
Anlisis Numrico. Burden, R. Faires, J. D. Ed. Thomson Learning.

Mtodos de Resolucin de
Sistemas de Ecuaciones Lineales

50 C
50 C

100 C

50 C

100 C

T1

T2

T3

T4

T5

T6

0 C

50 C

0 C

50 C
50 C

La figura, representa la discretizacin de un problema de calor en una placa. Se debe


determinar la temperatura en los nodos interiores de la malla Tj, con j = 1,2,,6,
conocidas las temperaturas en el borde y suponiendo equilibrio trmico, es decir las
temperaturas no varan.
Nota: en el modelo discreto se supone que, en el equilibrio tmico, la temperatura en cada nodo es la media
de la temperatura en los nodos vecinos.

Mtodos de resolver Sistemas


de Ecuaciones Lineales
a 11 x1 a 12 x 2 ... a 1n x n b1
a x a x ... a x b
21 1 22 2
2n
n
2

a n1 x1 a n 2 x 2 ... a nn x n b n
A X=B
A nxn

X nx1

B nx1

Mtodos directos: Eliminacin de Gauss, Gauss Jordan y Mtodo de Factorizacin


LU.
Mtodos Iterativos: Jacobi, Gauss-Seidel

Mtodos Directos: Mtodo de


Eliminacin de Gauss

Para resolver el sistema A x = b con n ecuaciones y n incgnitas, vamos a


construir un sistema triangular superior equivalente, U x = h, que pueda ser
resuelto utilizando el algoritmo de sustitucin hacia atrs..
Dos sistemas lineales de dimensin n x n, se dicen equivalentes si tienen el
mismo conjunto solucin.
Para resolver el sistema de ecuaciones A x = b es suficiente guardar los
coeficientes en un matriz de dimensiones n x (n+1). Los coeficientes de b se
almacenan en la columna n+1 de la matriz.
La matriz aumentada se denota [A|b] y el sistema tiene la siguiente
representacin.

a 11

a12

... a 1n b1

a 21 a 22 ... a 2 n b 2

A | b
... ... ... ... ...

a n1 a n 2 ... a nn b n

Mtodos Directos: Mtodo de


Eliminacin de Gauss

Operaciones elementales de rengln:


Intercambiar filas;
Multiplicar una fila por una constante c no nula;
Reemplazar una fila por la suma de esa fila y un mltiplo no nulo de
otra:
mr p = multiplicador
Fr + mr p Fp Fr
Objetivo de las operaciones: construir un sistema triangular superior equivalente, que
pueda ser resuelto aplicando el mtodo de sustitucin hacia atrs.
Pivote: El elemento arr en la diagonal de la matriz de coeficientes de A que se utiliza
para eliminar akr donde k = r+1, r+2, ,n, recibe el nombre de r-simo pivote.

Algoritmo de sustitucin hacia atrs


Definicin: la matriz U nxn
se dice triangular superior si los elementos: u i j = 0, siempre que i > j
Definicin: la matriz U nxn
se dice triangular inferior si los elementos: u i j = 0, siempre que i < j
Si U es una matriz triangular superior, entonces U X = h es un sistema triangular
superior que tiene la forma:

u11 x1 u12 x 2 u13 x n ... u1n 1 x n u1n x n h1

u 22 x 2 u 23 x n ... u 2 n 1 x n u 2 n x n h 2

u 33 x n ... u 3n 1 x n u 3n x n h 3

u nn x n h n

Algoritmo de sustitucin hacia atrs


Condicin: u k k 0, para k = 1, 2, , n
xn

hn
unn

Ahora que se calcul x n, podemos calcular el valor x n-1:


x n 1

h n 1 u n 1,n x n
u n 1, n 1

y en general la k-sima incgnita se calcula:

hk
xk

j k 1

ukk

kj

xj
para k = n-1, n-2, .,1

Mtodos Directos: Mtodo de


Eliminacin de Gauss
Ejemplo:

4T1 T2 0 T3 T4 0 T5 0 T6 150
T 4T T 0 T T 0 T 50
1
2
3
4
5
6

0 T1 T2 4 T3 0 T4 0 T5 T6 150
T 0 T 0 T 4 T T 0 T 50
1
2
3
4
5
6

0 T1 T2 0 T3 T4 4 T5 T6 50
0T1 0 T2 T3 0 T4 T5 4 T6 50

m={{4,-1,0,-1,0,0}, {-1,4,-1,0,-1,0}, {0,-1,4,0,0,-1}, {-1,0,0,4,-1,0}, {0,-1,0,-1,4,-1},


{0,0,-1,0,-1,4}} ;
v={150,50,150,50,50,50};
vars={T1,T2,T3,T4,T5,T6};
Solve[m.vars==v,vars]//N
{{T1->60.8696,T2->54.3478,T3->60.8696,T4->39.1304,T5->45.6522,T6->39.1304}}
Flatten/@Transpose[{m,v}]//MatrixForm
({{4, -1, 0, -1, 0, 0, 150},
{-1, 4, -1, 0, -1, 0, 50},
{0, -1, 4, 0, 0, -1, 150},
{-1, 0, 0, 4, -1, 0, 50},
{0, -1, 0, -1, 4, -1, 50},
{0, 0, -1, 0, -1, 4, 50} })
RowReduce[Flatten/@Transpose[{m,v}]]
{{1,0,0,0,0,0,1400/23},{0,1,0,0,0,0,1250/23},{0,0,1,0,0,0,1400/23},
{0,0,0,1,0,0,900/23},{0,0,0,0,1,0,1050/23},{0,0,0,0,0,1,900/23}}
Last/@%
{1400/23,1250/23,1400/23,900/23,1050/23,900/23}
%//N
{60.8696,54.3478,60.8696,39.1304,45.6522,39.1304}

Solucin:
T1=60.87[C], T2=54.35[C],T3=60.87[C],T4=39.13 [C],T5=45.65 [C],T6=39.13 [C]
sol={60.87,54.35,60.87,39.13,45.65,39.13}
{60.87,54.35,60.87,39.13,45.65,39.13}
error=Abs[m.sol-v]*100
{0., 1, 0., 7.10543*10-13, 1, 1.42109*10-12}

Dificultades de los Mtodo de


Eliminacin
1. DIVISIN POR CERO;
2. ERRORES DE REDONDEO
3. SISTEMAS MAL CONDICIONADOS: son aquellos en donde pequeos
cambios en los coeficientes generan grandes cambios en la solucin o un
amplio rango de resultados, pueden satisfacer las ecuaciones en forma
aproximada
Por ejemplo: resolver el sistema
a={{1,2},{1.1,2}};
t={10,10.4};
vars1={a,b};
Flatten/@Transpose[{a,t}]
{{1,2,10},{1.1,2,10.4}}
RowReduce[Flatten/@Transpose[{a,t}]]
{{1,0.,4.},{0,1,3.}}

Solucin = {4,3}

a1={{1,2},{1.05,2}};
Flatten/@Transpose[{a1,t}]
{{1,2,10},{1.05,2,10.4}}
RowReduce[Flatten/@Transpose[{a1,t}]]
{{1,0.,8.},{0,1,1.}}
Grficamente:
r1[x_]:=(10-x)/2
r2[x_]:=(10.4-1.1*x)/2

Solucin = {8,1}

4. SISTEMAS SINGULARES

Tcnicas para mejorar las soluciones


1. USO DE MS CIFRAS SIGNIFICATIVAS
2. PIVOTEO:
Pivoteo parcial (o pivoteo de columna): a) En la primera columna se
selecciona el elemento de mayor en valor absoluto, este elemento se elige como
pivote. b) Si es necesario, se efecta un intercambio de filas para que el pivote
est en la 1 fila. c) Se divide la primera fila por el pivote. d)Con las operaciones
elementales necesarias, reducir a cero el resto de los elementos de esa columna
y as se sigue.

Mtodos Directos: Mtodo de


factorizacin LU
Definicin: se dice que una matriz no-singular A tiene una factorizacin triangular si
se puede ser expresada como el producto de una matriz triangular inferior L y una
matriz triangular superior U:
En notacin matricial:
a 11 a 12
a
21 a 22
a 31 a 32

a 41 a 42

a 13 a 14 1 0
a 23 a 24 l 21 1

a 33 a 34 l31 l32

a 43 a 44 l 41 l 42

0
0
1
l 43

0
0
0

u11 u12
0 u
22

0
0

0
0

u13
u 23
u 33
0

u14
u 24
u 34

u 44

Supongamos que A tiene una factorizacin triangular y queremos resolver el sistema


Ax=b
A x= LUx=b
L y =b

Etapas de resolucin:
Primero resolver: L y = b y = L-1 b
Y luego resolver: U x = y
U x = L-1 b
x = U-1 L-1 b
Determinacin de L y U:

LU

Es decir:
a11 = u11
a12 = u12
a13 = u13
a14 = u14
a21= l21 u11
a31 = l31 u11
a41 = l41 u11

En general: a1j = u1j

En general: li1

Si se continua se llega a la siguiente conclusin:

PASOS PARA ENCONTRAR LA MATRIZ TRIANGULAR SUPERIOR [U]


1. Hacer cero todos los elementos en la columna 1, debajo del a11, considerado
como elemento pivote, sin convertir a este en un 1.
2. Seguir as con todas las columnas.
R2: R2 (5/4) R1
R3: R3 (1/4) R1

R3: R3 (5/7) R1

=U

PASOS PARA ENCONTRAR LA MATRIZ TRIANGULAR INFERIOR [L]


1. Construir una matriz de igual orden que la matriz original con unos en la diagonal
principal y ceros para los elementos que cumplan j > i.
2. Como elementos debajo de la diagonal principal se ubican el mltiplo de Gauss
usado en la descomposicin para conseguir el cero en la posicin
correspondiente.
=L

Mtodos Directos: Mtodo de


factorizacin LU
Etapas de resolucin:
Primero resolver: L y = b y = L-1 b
Y luego resolver: U x = y
U x = L-1 b
x = U-1 L-1 b
Ejemplo:

4T1 T2 0 T3 T4 0 T5 0 T6 150
T 4T T 0 T T 0 T 50
1
2
3
4
5
6

0 T1 T2 4 T3 0 T4 0 T5 T6 150
T 0 T 0 T 4 T T 0 T 50
1
2
3
4
5
6

0 T1 T2 0 T3 T4 4 T5 T6 50
0T1 0 T2 T3 0 T4 T5 4 T6 50

Mathematica permite encontrar las matrices L, U con un comando propio.


El comando: LUDecomposition[m] devuelve una lista de tres elementos. El primero es
una combinacin de las matrices triangulares L y U, el segundo es un vector que
especifica las filas usadas como pivote vector de permutacin y el tercero es nmero
condicin de m.
FACTORIZACIN LU
{lu,p,c}=LUDecomposition[{{4,-1,0,-1,0,0},{-1,4,-1,0,-1,0},{0,-1,4,0,0,-1},{-1,0,0,4,-1,0},
{0,-1,0,-1,4,-1},{0,0,-1,0,-1,4}}]
{{{-1,4,-1,0,-1,0},{0,-1,4,0,0,-1},{0,0,-1,0,-1,4},{0,1,4,-1,8,-16},{1,4,15,-4,47,-120},
{-4,-15,-56,1,-(68/47),2415/47}},{2,3,6,5,4,1},0}
Encontrar L:
l=lu SparseArray[{i_,j_}/;j<i->1,{6,6}]+IdentityMatrix[6]
{{1,0,0,0,0,0},{0,1,0,0,0,0},{0,0,1,0,0,0},{0,1,4,1,0,0},{1,4,15,-4,1,0},{-4,-15,-56,1,(68/47),1}}
Encontrando U:
u=lu SparseArray[{i_,j_}/;j>=i->1,{6,6}]
{{-1,4,-1,0,-1,0},{0,-1,4,0,0,-1},{0,0,-1,0,-1,4},{0,0,0,-1,8,-16},{0,0,0,0,47,-120},
{0,0,0,0,0,2415/47}}
Verificando que A = L.U:
l.u
20
{{-1,4,-1,0,-1,0},{0,-1,4,0,0,-1},{0,0,-1,0,-1,4},{0,-1,0,-1,4,-1},{-1,0,0,4,-1,0},{4,-1,0,-1,0,0}}

Mathematica ha permutado filas para encontrar las matrices L y U


Donde:
P A = L U. donde P (matriz de permutacin)
Para resolver el sistema:

Ax = b

Premultiplicamos por P

PAx = Pb

Como PA = LU

LUx=Pb

Lo que resulta:

x = U -1 L-1 P b

Encontrando P con Mathematica:


P=IdentityMatrix[6][[{lu,p,c}[[2]]]]
{{0,1,0,0,0,0},{0,0,1,0,0,0},{0,0,0,0,0,1},{0,0,0,0,1,0},{0,0,0,1,0,0},{1,0,0,0,0,0}}
Resolviendo entonces el sistema:
x=Inverse[u].Inverse[l].P.v//N
{60.8696,54.3478,60.8696,39.1304,45.6522,39.1304}

Mtodos Directos
Para algunos mtodos la cantidad de operaciones que se necesitan para resolver un
sistema de n ecuaciones con n incognitas es: O(n3).
Por ejemplo para calcular un sistema de 1000 x 1000, se requerirn alrededor de 103
operaciones aritmticas!!!!
Para matrices ralas (tienen muchos ceros) no se adaptan adecuadamente por las
siguientes razones:
A medida que se aplica el proceso de eliminacin directa, ciertos elementos que
eran nulos dejan de serlo. Por lo tanto aumento considerablemente el espacio de
almacenamiento utilizado por la matriz.
La mayora de las operaciones aritmticas que realizan estos mtodos se aplican a
elementos nulos desperdiciando tiempo de cmputo.

Mtodos Iterativos
Los mtodos iterativos realizan aproximaciones sucesivas para obtener soluciones cada
vez mas precisas en cada iteracin. Los requerimientos de memoria para estos son en
general menores en orden de magnitud.
En que consisten?
Aproximacin inicial x(0) al vector solucin x.
Generacin de una sucesin de vectores que convergen a x: x ( k )

k 0

Matricialmente:
Se convierte el sistema A x = b en un sistema equivalente de la forma x=Tx+C
siendo Tm x m y Cm x 1.
La sucesin de vectores solucin se genera calculando para cada k = 1,2,3,
entonces:
x(k) = T x(k-1) + C

Ideales para resolver grandes sistemas con un gran porcentaje de ceros.

Mtodos Iterativos
Ventajas:
eficientes en trminos de almacenamiento
eficientes en tiempo de cmputo
Desventajas:
no siempre convergen a la solucin
Si la matriz es estrictamente diagonal dominante, los mtodos iterativos convergen a la
solucin para cualquier aproximacin inicial.

a ii a ij
j1
j i

Mtodo de Jacobi
a11 x1 a12 x 2 a13 x 3 ... a1n x n b1
a x a x a x ... a x b
23
3
2n
n
2
21 1 22 2
a 31 x1 a 32 x 2 a 33 x 3 ... a 3n x n b 3
..........................................................

a n1 x1 a n 2 x 2 a n 3 x 3 ... a nn x n b n
De ecuacin (1): x1

(1)

De ecuacin (2): x 2

(1)

(1)

b1 a 12 x 2

( 0)

a 13 x 3
a 11

(0)

a 23 x 3
a 22

b 2 a 21 x1

De ecuacin (n): xn

bn an1 x1

(0)

( 0)

... a 1n x n

( 0)

... a 2 n x n

(0)

( 0)

( 0)

an 2 x2 ... an ,n 1 xn 1
ann

(0)

Dada la i-sima ecuacin del sistema: A x = b

a
j1

ij

x j bi

Si se despeja xi asumiendo que el resto de los coeficientes de x permanecen sin


cambios, se obtiene:
b a x

j i

xi

ij

para i=1,2,...,n

a ii

Esto sugiere un mtodo iterativo definido por:

xi

(k )

b i a ij x j
j1

a ii

( k 1)

Para i = 1,2,,n
Con i j.

Ejemplo: Resolver con < 10-2

4T1 T2 0 T3 T4 0 T5 0 T6 150
T 4T T 0 T T 0 T 50
1
2
3
4
5
6

0 T1 T2 4 T3 0 T4 0 T5 T6 150
T 0 T 0 T 4 T T 0 T 50
1
2
3
4
5
6

0 T1 T2 0 T3 T4 4 T5 T6 50
0T1 0 T2 T3 0 T4 T5 4 T6 50

En forma matricial el mtodo de Jacobi puede ser representado como:


a11 a12
a
a 22
21

A
... ...

a n1 a n 2

... a 1n a11 0
... a 2 n 0 a 22

... ... ... ...



... a nn 0
0

... 0 0
0
... 0 a 21
0

... ... ...


...

... a nn a n1 a n 2

...
0 0 a12
...
0 0
0

... ... ... ...



... a nn 0
0

Si A = D L U, entonces: A
x=b
(D L U) x = b
Dx=b+Lx+Ux
D x = (L + U ) x + b
x = D-1 (L + U) x + D-1 b
De aqu surge que: x(k) = D-1 (L + U) x(k-1) + D-1 b con k = 1,2,
x(k) =

x(k-1) +

... a 1n
... a 2 n
... ...

...
0

Mtodo de Gauss-Seidel
a11 x1 a 12 x 2 a13 x 3 ... a1n x n b1
a x a x a x ... a x b
23
3
2n
n
2
21 1 22 2
a 31 x1 a 32 x 2 a 33 x 3 ... a 3n x n b 3
..........................................................

a n1 x1 a n 2 x 2 a n 3 x 3 ... a nn x n b n
b1 a 12 x 2

( 0)

(0)

(0)

a 13 x 3 ... a 1n x n
x

De ecuacin (1): 1
a 11
(1)
(0)
(0)
b 2 a 21 x1 a 23 x 3 ... a 2 n x n
(1)
De ecuacin (2): x 2
a 22
(1)

(1)

De ecuacin (n): x n

(1)

i 1

En general:
xi

(1)

b a n1 x1 a n 2 x 2 ... a n ,n 1 x n 1
n
a nn

(k)

bi a i j x j
j1

(k)

ai j x j
j i 1

a ii

( k 1)

(1)

Mtodo de Clculo:
Paso 1: se considera x2 = x3 = =xn = 0
entonces: x (1) b1
1

a 11

Paso 2: se considera x3 = x4 = =xn = 0


entonces:

x2

(1)

b a x
1 21 1
a 22

(1)

(1)
(1)
(1)
Paso 3 a Paso n: se calcula de la misma manera:x 3 , x 4 ,..., x n

Paso n+1: se repite el proceso


Se calculan los errores relativos, se sigue el calculo hasta que los errores sean
Menores que el error admisible que se debe prefijar.

En forma matricial:
Si A = D L U, entonces: A
x=b
(D L - U) x = b
(D L) x U x = b
(D L) x = U x + b
(D L)-1 (D L) x = (D L)-1 (U x + b)
x = (D L)-1 U x + (D L)-1 b
De aqu surge que: x(k) = (D- L )-1 U x(k-1) + (D- L )-1 b con k = 1,2,
x(k) =

x(k-1) +

Ejemplo: Resolver con < 10-2

4T1 T2 0 T3 T4 0 T5 0 T6 150
T 4T T 0 T T 0 T 50
1
2
3
4
5
6

0 T1 T2 4 T3 0 T4 0 T5 T6 150
T 0 T 0 T 4 T T 0 T 50
1
2
3
4
5
6

0 T1 T2 0 T3 T4 4 T5 T6 50
0T1 0 T2 T3 0 T4 T5 4 T6 50

FIN