Beruflich Dokumente
Kultur Dokumente
Freitas
40
eq.1
eq.2
eq.3
eq.4
Exemplo 2 : soluo numrica de equaes diferenciais (elasticidade, transferncia de calor, mecnica dos
fluidos, etc.) :
o domnio de soluo discretizado, ou seja, o que era infinitamente contnuo dividido e
passa a ser um conjunto limitado de partes finitas :
nos contornos o
valor de
conhecido
em funo do que
acontece nos
contornos, a
equao fornece o
valor de em
qualquer ponto
interno (x,y)
2 = 1
parte
(i,j)
domnio contnuo
onde se deseja
conhecer a soluo
de uma ED
o contnuo dividido
em partes finitas
Uma maneira de obter uma soluo atribuir a cada parte (i,j) uma varivel (z i,j), representando uma
soluo constante dentro dos limites de (i,j) ou seja, zi,j uniforme dentro da poro (i,j)
Todas as partes elementares esto interligadas e no possvel saber o valor de z em nenhuma delas
sem obter a soluo de todas ao mesmo tempo.
A soluo obtida pela soluo de um sistema linear NN, onde N o nmero de elementos (partes)
em que foi dividido o domnio.
a n1 x 1 + a n 2 x 2
n
Tambm :
a
j=1
ij
+ + a 1n x n = b 1
+ + a 2n x n = b 2
+ + a nn x n = b n
x j = bi
a 11
a
21
a n1
a 1n x 1 b 1
a 2 n x 2 b 2
a nn x n b n
a 12
a 22
a n2
, i = 1,2, , n
Ax = b
Definio : Soluo de Ax = b todo vetor = [ 1 , 2 , , n ] tal que A = b .
Quanto soluo , Ax = b pode ser :
Determinado : existe apenas uma soluo ( det A 0)
Indeterminado : existem infinitas solues ( det A = 0)
Impossvel : no existe soluo ( det A = 0)
Ilustrao : No caso de sistemas 22, possvel visualizar algumas propriedades das solues .
Exemplo : resolver o sistema :
3x 1 + 2 x 2 = 18
x 1 + 2x 2 = 2
x 2 = ( 3 2 ).x 1 + 9
x 2 = (1 2 ).x 1 + 1
x2
3x1 + 2x2 = 18
6
4
2
-x1 + 2x2 = 2
1
x1
41
42
Casos particulares :
1) Retas paralelas
(no h soluo):
x2
2) Retas coincidentes
(infinitas solues) :
x2
-x1 + x2 = 1
x2
-0.46x1 + x2 = 1
-0.5x1 + x2 = 1
-x1 + x2 = 0.5
-0.5x1 + x2 = 1
-x1 + 2x2 = 2
x1
x1
x1
0 x 1 b1
x b
2 = 2
a nn x n b n
a 22
Soluo:
x1 =
b1
a 11
x2 =
b2
a 22
xk =
, ... ,
bk
a kk
, ... ,
xn =
bn
a nn
a n1
a 22
a n2
0 x 1 b1
x b
2 = 2
a nn x n b n
Soluo:
a 11 x 1 = b 1
x1 =
a 21 x 1 + a 22 x 2 = b 1
b1
a 11
x2 =
b 2 a 21 x 1
a 22
a n1 x 1 + a n 2 x 2 + + a n ( n 1) x n 1 + a nn x n = b n
n 1
i = n.( n 1)
xn =
b n a n1 x 1 a n 2 x 2 a n ( n 1) x n 1
2 subtraes/multiplicaes
i =1
a nn
43
a 12
a 22
a 1n x 1 b 1
a 2 n x 2 b 2
a nn x n b n
Soluo:
a nn x n = b n
xn =
bn
a nn
a ( n 1)( n 1) x ( n 1) + a ( n 1) n x n = b n 1
x ( n 1) =
b ( n 1) a ( n 1) n x n
a ( n 1)( n 1)
a 11 x 1 + a 12 x 2 + + a 1( n 1) x n 1 + a 1n x n = b 1
x1 =
b 1 a 1n x n a 1( n 1) x ( n 1) a 12 x 2
a 11
Regra de Cramer :
xi =
Tempo (anos)
0.6048
49000
Ax = b
c)
Operaes (flops)
3.99108
1.021021
x = b
ou
Ax = b
x = b
x = b
44
d)
45
Ax = b
x =b
torna-se:
ou:
(L.U).x = b
L.(U.x) = b
e a obteno de um vetor soluo x pode ser decomposta em 2 passos muito mais rpidos do
que uma eliminao gaussiana completa:
L.(U.x) = b
no total, teremos "apenas" (n2) operaes at chegar soluo, quando uma EG completa
custaria (n3/3)
Ax = b
operaes
elementares
x = b
ou
x = b
46
2x2
8x2
13x2
+ 4x2
+ 2x3 + 4x4 = 16
+ 6x3 +10x4 = 26
+ 9x3 + 3x4 =-19
+ x3 18x4 =-34
(l1)
(l2)
(l3)
(l4)
2x2
8x2
13x2
+ 4x2
+ 2x3 + 4x4 = 16
+ 6x3 +10x4 = 26
+ 9x3 + 3x4 =-19
+ x3 18x4 =-34
6x1 2x2
4x2
12x2
2x2
+
+
+
+
2x3
2x3
8x3
3x3
+ 4x4 = 16
+ 2x4 =-6 l2-(12/6)l1
+ x4 =-27 l3-( 3/6)l1
-14x4 =-18 l4-(-6/6)l1
note que a 1 equao no alterada, embora tenha sido usada para zerar os 1 os coeficientes das outras
equaes:
- neste contexto, ela a "equao piv"
- o coeficiente a11=6 o "coeficiente piv"
observe que os 2 sistemas so equivalentes (tm a mesma soluo)
+ 4x4 = 16
+ 2x4 =-6
- 5x4 =-9
-13x4 =-21
l3-(-12/-4)l2
l4-(2/-4)l2
l4-(4/2)l3
da equao l4:
com x4, da equao l3:
com x4 e x3 , da equao l2:
com x4, x3 e x2 , da equao l1:
x4 = 1
2x3 5 1 = -9
x2 = 1
x1 = 3
x3 = -2
47
a n1
a 12
a 22
a n2
a 1n x 1 b 1
a 2 n x 2 b 2
a nn x n b n
a i1
.a 1 j
a ij a ij
a 11
b b a i1 .b
i
a 1
i
11
(1 j n )
a 11
0
a 12
a 22
a n2
a 1n x 1 b 1
a 2 n x 2 b 2
a nn x n b n
b i b i ( a i 2 a 22 ) b 2
( 2 j n)
48
a 12
a 22
0
0
0
0
a 13
a 23
a 33
a kk
a ik
a nk
a kj
a ij
a nj
a 1n x 1 b 1
a 2 n x 2 b 2
a 3n x 3 b 3
a kn x k = b k
a in x i b i
a nn x n b n
neste ponto, uma cunha de coeficientes 0 foi criada e as primeiras k equaes foram
processadas e esto agora fixas
usando a k-sima equao como piv, seleciona-se multiplicadores de modo a criar 0s como
coeficientes para cada xk abaixo do coeficiente akk
ento, computa-se, para cada equao restante (k+1 i n):
a ik
a ij a ij
a kk
b b a ik
i
a
i
kk
.a kj
.b k
( k j n)
a1(n-1)xn-1 + a1nxn = b1
a2(n-1)xn-1 + a2nxn = b2
Note que, com exceo da 1 linha, os aij 's e os bi 's no so mais os do sistema original, mas
sim aqueles que foram alterados pelo processo de eliminao.
Este sistema pode ser resolvido por:
bn
a nn
xn =
x n 1 =
x1 =
b n 1 a ( n 1) n x n
a ( n 1)( n 1)
b 1 a 12 x 2 a 13 x 3 a 1n x n
a 11
bn
a nn
xi =
1
a ii
b i a ij x j
j= i +1
0.x 1 + x 2 = 1
x1 + x 2 = 2
donde se conclui que no se pode confiar em resultados obtidos por EG para a11 0.
para testar esta hiptese, considere:
.x 1 + x 2 = 1
x1 + x 2 = 2
resolvendo:
49
.x 1 + x 2 = 1
(1 1 ) x 2 = 2 1
retrossubstituio
x2 =
2 1
11
x1 =
50
1 x2
ocorre que, neste caso, como 1/ grande, em clculos com mantissa finita tanto 2-1/ como 1-1/
seriam computados como (-1/), o que traria as seguintes conseqncias:
x2 seria calculado como 1 (!!)
x1 seria calculado como 0
quando a soluo correta seria (por regra de Cramer, por Exemplo):
x1 =
1
1
1
x2 =
1 2.
1
1
(1 ) x 2 = 1 2.
retrossubstituio
x2 =
1 2.
1
1
x1 = 2 x 2 1
Obs.: o problema consiste no fato de ser pequeno em relao aos outros coeficientes na mesma linha.
Concluso:
A ordem em que as equaes so tratadas afeta significativamente a preciso do algoritmo de
eliminao no computador.
Na eliminao gaussiana ingnua, a ordem sempre a natural {1,2,...,n}.
Qual a melhor ordem a usar? Alguma que seja determinada pelo sistema sendo resolvido.
Modificao da ordem = pivotamento.
Estratgias de pivotamento
1.
2.
Pivotamento parcial normalizado idem ao anterior, mas a comparao feita entre coeficientes
normalizados (em escala).
12 8
3 13
4
6
2
4
16
6 10
26
9
3
19
1 18 34
pivotamento
l1 l2
12 8
2
6
3 13
4
6
6 10
26
2
4
16
9
3
19
1 18 34
2
1 1
(1 2 )
(1 4 ) 11 15 2 1 2
0
4
13
( 1 2 )
26
3
51 2
21
l 2 ( 6 12).l 1
l 3 ( 3 12).l 1
l 4 ( 6 12).l 1
(1 4 ) 11 15 2 1 2
(1 2 )
2
1 1
0
4
13
( 1 2 )
26
51 2
3
21
Eliminao:
12
8
6
10
11 15 2
12
(1 4 )
(1 2 ) ( 2 11) 4 11 10 11
( 0)
4
13
( 1 2 )
26
51 2
18 11 l 3 ( 2 11).l 2
21 l 4 ( 0).l 2
51
11 15 2
12
51 2
(1 4 )
( 1 2 )
( 0)
4
13
21
(1 2 ) ( 2 11) 4 11 10 11 18 11
Eliminao:
12
8
11
(1 4 )
( 1 2 )
( 0)
(1 2 ) ( 2 11)
6
10
15 2 1 2
4
13
(1 11) 3 11
26
51 2
21
3 11 l 4 (1 11).l 3
x3 = -2
end
% Etapa de retrossubstituico:
x(n) = b(n) / A(n,n);
for i=n-1:-1:1
x(i) = b(i);
for j=i+1:n
x(i) = x(i) - A(i,j)*x(j);
end
x(i) = x(i)/A(i,i);
end
52
function ipvt=pivot(A,n,k)
% Busca a equao piv, ou seja, a equao com coeficiente de maior
%
mdulo na coluna k
ipvt=k;
pvt=abs(A(k,k));
for i=k+1:n
p = abs(A(i,k));
if p > pvt
pvt=p;
ipvt=i;
end
end
53