CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Rio

Propaganda
CÁLCULO DE RAIZ DE EQUAÇÃO
 Necessidade de determinar a raiz de uma equação
em diversos problemas de engenharia, isto é, determinar x, tal que:
f ( x)  0
 Algumas equações mais simples possuem solução analítica, como
2 x  20 
x 2  5x  6  0 
x  10
x2 e x3
 Na maioria dos casos (equação não-linear), as raizes da equação
não podem ser determinadas analiticamente
 Deve-se utilizar procedimentos iterativos para determinar a(s) raiz(es)
MÉTODO DE PICARD
x* é raiz da equação f(x) = 0
f ( x* )  0 
x*  g ( x* )  0 

x*  g ( x* )
f ( x* )
PROCEDIMENTO ITERATIVO
x
Chute inicial : x( 0)
i 1
x(i )  g ( x(i 1) )
Enquanto x(i )  x(i 1)   , repetir
i  i 1
x(i )  g ( x(i 1) )
Raiz : x(i )
g (x)
g ( x(1) )
g ( x( 0) )
x( 0 )
x(1) x( 2)

g ( x( 0) )
x*
RAIZ
x
x
EXEMPLO 1: RESOLVER x  e  0
x  ex

g ( x)  e  x
x( 0 )  1
x(1)  g ( x( 0) )  e 1  0.36788
x( 2)  g ( x(1) )  e 0.36788  0.69220
n
xn
g(xn)
0
1
2
3
4
5
6
7
8
9
10
11
.
20
1
0.36788
0.69220
0.50047
0.60624
0.54540
0.57961
0.56012
0.57114
0.56488
0.56843
0.56641
.
0.56714
0.36788
0.69220
0.50047
0.60624
0.54540
0.57961
0.56012
0.57114
0.56488
0.56843
0.56641
0.56756
.
0.56714

EXEMPLO 2: RESOLVER
x  2x 1 
x 1  0
g ( x)  2 x  1
n
x
n
g (x n)
0
1
2
3
0
0
0
0
.9
.8
.6
.2
0 .8
0 .6
0 .2
-0 .6
x( 0)  0.9
x(1)  g ( x( 0) )  2  0.9  1  0.8
x( 2)  g ( x(1) )  2  0.8  1  0.6

g (x)
Processo iterativo diverge
PORQUE ???
x
x
g ( x( 0) )
g (x)
g ( x(1) )
g ( x( 0) )
g ( x(1) )
x( 2) x(1) x( 0)

g ( x( 0) )
x*
RAIZ
x
DIVERGE
x( 0 )
x( 2 )
x*
RAIZ
x(1)

g ( x( 0) )
x
CONVERVE OSCILANDO
g ( x)  1  DIVERGE
0  g ( x)  1  CONVERGE MONOTONICAMENTE
 1  g ( x)  0  CONVERGE OSCILANDO
MÉTODO DE BISSEÇÃO
 SE f(x) É UMA FUNÇÃO CONTÍNUA E f(a).f(b) < 0
A RAIZ DE f(x) PERTENCE AO INTERVALO (a,b)
 MÉTODO DE BISSEÇÃO CRIA UMA SEQUENCIA DE INTERVALOS
CADE VEZ MENOR QUE CONTENHA A RAIZ
Escolher a0 e b0 tal que f (a0 )  f (b0 )  0
i 1
mi  1 2 a0  b0 
While f (mi )   , do
if f (mi )  f (bi 1 )  0 then
ai  mi
bi  bi 1
end
if f (ai 1 )  f (mi )  0 then
ai  ai 1
bi  mi
end
i  i 1
mi  1 2 ai 1  bi 1 
Raiz : mi
f (x)
a0
m1 x* m2
b0 x
(a1 , b1 )
(a0 , b0 )
2
EXEMPLO 3: RESOLVER
 x
   sin x  0
2
i
ai-1
f(ai-1)
bi-1
f(bi-1)
mi
f(mi)
1
2
3
4
5
1.5
1.75
1.875
1.875
1.90625
<0
2
2
2
1.9375
1.9375
>0
1.75
1.875
1.9375
1.90625
1.9219
<0
<0
>0
<0
 CONVERGÊNCIA EXTREMAMENTE LENTA
 CONVERGÊNCIA MELHORA USANDO VALORES DE f(x)
NO CÁLCULO DE mi
mi 
bi 1 f (ai 1 )  ai 1 f (bi 1 )
f (ai 1 )  f (bi 1 )
MÉTODO DE NEWTON-RAPHSON (DE NEWTON)
f (x)
tan  
f ( xi )
 f ( xi ) 
xi  xi 1
xi 1  xi 
x*
f ( xi )
f ( xi )
x
x( 2)
x(1)
x( 0)
PROCEDIMENTO ITERATIVO
Chute inicial : x( 0)
i0
While f ( x(i ) )   , do
f ( x( i ) )
x  
f ( x(i ) )
x(i 1)  x(i )  x
i  i 1
Raiz : x(i 1)
2
EXEMPLO 4: RESOLVER
 x
   sin x  0
2
i
xi
f(xi)
f’(bi)
x
0
1
2
3
4
1.5
2.14039
1.95201
1.93393
1.93375
0.434995
-0.30319
-0.02437
-0.00023
0.000005
-0.67926
-1.60948
-1.34805
-1.32217
-1.32191
0.64039
-0.18838
-0.01808
-0.00018
 CONVERGÊNCIA RÁPIDA
 O TAMANHO DO PASSO DIMINUI A CADA ITERAÇÃO
DE UM FATOR DE 10
x
EXEMPLO 5: RESOLVER x  e  0
i
xi
0
1
2
3
4
0.0
f(xi)
f’(bi)
x
PROPRIEDADE DE CONVERGÊNCIA
Vamos supor que  é uma raiz simples de f(x): f ( )  0 e f ( )  0
Obter uma estimativa de erro para a aproximação xn do Método de Newton
 n  xn  
Expandindo f(x) em série de Taylor em x=xn com um passo - xn
f xn  (  xn )   f ( )  0 
1
0  f ( xn )  (  xn ) f ( xn )  (  xn ) 2 f ( );   ( xn , )
2
1
(  xn ) 2 f ( )
f ( xn )
 (  xn )   2

f ( xn )
f ( xn )
1
(  xn ) 2 f ( )

f ( xn ) 
2
    xn 
   n 1  
f ( xn ) 
f ( xn )



xn1
1
2
 n 1   n2
f ( )
f ( xn )

 n 1 11 f2 (f() )
 n
xn   2
22 f (f() )
n
lim
 Quando perto da solução, o erro cai quadraticamente:
 3  10 2   4  10 4   5  10 8 
PROBLEMAS COM O MÉTODO DE NEWTON
 O chute inicial deve estar
suficientemente próximo da solução
 O processo iterativo passa por um
ponto de máximo ou mínimo local
f (x)
f (x)
x*
x*
x
x(0)
x(1)
x
x(1)
x(0)
 O processo iterativo pode entrar em um ciclo que não converge
f (x)
x(1)
x*
x
x(0)
 Os problemas com o Método de Newton podem ser resolvidos com
um chute inicial perto da solução
 Combinar um método com convergência global boa (mas lenta) com
o método de Newton (convergência global ruim, mas extremamente
rápido quando perto da solução)
MÉTODO DA SECANTE
 O cálculo da derivada f’(x) pode ser
muito complicado ou caro computacionalmente
 Aproximar a derivada por:
f ( xi )  f ( xi 1 )
xi  xi 1
f ( x) 
PROCEDIMENTO ITERATIVO
Chute inicial : x( 0) e x(1)
i 1
While f ( x(i ) )   , do
x   f ( x(i ) )
x(i )  x(i 1)
f ( x(i ) )  f ( x(i 1) )
x(i 1)  x(i )  x
i  i 1
Raiz : x(i 1)
INTERPRETAÇÃO GEOMÉTRICA
 Necessita de 2 chutes iniciais
x
f (x )
 Convergência não é quadrática
*
x
x( 2 ) x(1)
x( 0 )
2
EXEMPLO 6: RESOLVER
 x
   sin x  0
2
i
xi
f(xi)
0
1
2
3
4
5
1.0
2.0
-0.59147
0.09070
x
Exercício
Escreva uma rotina no SciLab para cálculo de raiz de funções usando os métodos de Bisseção e Newton.
O programa principal deve fazer as seguintes tarefas:
Utilize o programa desenvolvido para determinar a raiz das equações abaixo.
(a)
f ( x)  x 2  1
Script Principal
(b)
f ( x)  1  x  e 2 x
Método da Bisseção
Método de Newton
SOLUÇÃO DE SISTEMA DE EQUAÇÕES
Ó A solução de um sistema de equações é necessária na grande maioria
dos problemas de engenharia
Problemas de interpolação e ajuste de curvas
Solução de equações diferenciais - simulação de problemas de engenharia
b1
b2
bn
­ a11 x1 a12 x2 a1n xn
°a21 x1 a22 x2 a2 n xn
®
°a x a x a x
n2 2
nn n
¯ n1 1
Ax b
ª b1 º
«b2 »
«b »
« 3»
«»
¬bn ¼
a1n º ª x1 º
a 2 n » « x2 »
a3n » « x3 »
»« »
»« »
ann »¼ ¬ xn ¼
a1n 1
a2 n 1
a3n 1
ann a
a12
a22
a32
an 2
ª a11
«a21
«a
« 31
« «¬ an1
Ó Maior parte do tempo de uma simulação por elementos finitos,
diferenças finitas ou outro método numérico é gasto na
resolução do sistema de equações obtido com a discretização
Ó Necessidade de métodos robustos e rápidos
SISTEMA DE n EQUAÇÕES E n INCÓNITAS
Ó Se os coeficientes aij são constantes, o sistema é dito linear
Ó O sistema acima pode ser representado na forma de matriz:
MÉTODOS DE SOLUÇÃO
Ó MÉTODOS DIRETOS
A solução exata (a menos de erros de truncamento do computador)
é determinada após um número finito de operações
Requer mais memória de armazenamento
Mais robusto
Mais rápido
Ó MÉTODOS ITERATIVOS
Fornece uma sequência de soluções aproximadas que convergem
quando o número de passos tende a infinito
Menor necessidade de memória de armazenamento
Problemas de convergência
MÉTODOS DIRETOS
SISTEMAS TRIANGULARES
ªu11
«0
«0
«
« «¬ 0
u12
u 22
0
0
Se uii z 0, i 1,2,, n
linha n : xn
u1n 1
u 2 n 1
u3n 1
0
u1n º ª x1 º
u 2 n » « x2 »
u3n » « x3 »
»« »
»« »
u nn »¼ ¬ xn ¼
ª b1 º
«b2 »
«b »
« 3»
«»
¬bn ¼
as incógnitas podem ser facilmente calculadas
bn
;
u nn
linha n - 1 : u n 1,n 1 xn 1 u n 1,n xn
bn 1
o
xn 1
bn 1 u n 1,n xn
u n 1,n 1
;
n
bi linha i : xi
¦u
k i 1
uii
i , k xk
RETROSUBSTITUIÇÃO
Se a matriz for triangular inferior:
ª l11
«l21
«l
« 31
«
«¬ln1
0 0
l22 0
l32 0
ln 2 lnn a
0 º ª x1 º
0 » « x2 »
0 » « x3 »
»« »
»« »
lnn »¼ ¬ xn ¼
ª b1 º
«b2 »
«b »
« 3»
«»
¬bn ¼
A solução é calculada da seguinte forma:
linha 1 : x1
b1
;
l11
linha 2 : l2,1 x1 l2, 2 x2
b2
o x2
b2 l2,1 x1
l22
;
i 1
linha i : xi
bi ¦ li ,k xk
SUBSTITUIÇÃO A FRENTE
k i
lii
n
NÚMERO DE OPERAÇÕES: n ¦ (i 1)
n
i 1
1
1
n(n 1) | n 2
2
2
ELIMINAÇÃO GAUSSIANA
Ó Eliminar as variáveis de uma maneira sistemática até obter um
sistema triangular, de fácil solução
­ a11 x1 a12 x2 a1n xn
°a21 x1 a22 x2 a2 n xn
®
°a x a x a x
n2 2
nn n
¯ n1 1
b1
b2
bn
Eliminar x1 das (n-1) úlimas equações
Se a11 z 0
­a11 x1 a12 x2 a1n xn b1
°§
·
§
·
§
a
a
°¨ a21 21 a11 ¸ x1 ¨ a22 21 a12 ¸ x2 ¨ a2 n
¸
¨
¸
¨
a11
a11
°¨©
¹
©
¹
©
°
®
0
°
°
·
§
·
§
°0 x1 ¨ an 2 an1 a12 ¸ x2 ¨ ann an1 a1n ¸ xn
¸
¨
¸
¨
°¯
a11
a11
¹
©
¹
©
·
a21
a1n ¸¸ xn
a11
¹
·
§
a
¨¨ bn n1 b1 ¸¸
a11 ¹
©
§
·
a
¨¨ b2 21 b1 ¸¸
a11 ¹
©
Após o primeiro passo, o sistema fica sendo:
­a11 x1 a12 x2 a1n xn b1
( 2)
°°
a22
x2 a2( 2n) xn b2( 2)
®
°
( 2)
°¯
an( 22) x2 ann
xn bn( 2)
Onde
aij( 2 )
ai1
; i 2,3,, n
a11
aij mi1a1 j ; i 2,3,, n
bi( 2 )
bi mi1b1 ; i
mi1
2,3,, n
Eliminar x2 das (n-2) últimas equações
( 2)
Se a22 z 0
­a11 x1 a12 x2 a13 x3 a1n xn b1
( 2)
( 2)
°
a22
x2 a23
x3 a2( 2n) xn b2( 2)
°°
( 3)
a33
x3 a3(3n) xn b3(3)
®
°
°
( 3)
an(33) x3 ann
xn bn(3)
°¯
aij(3)
ai(22 )
; i 3,4,, n
( 2)
a22
aij( 2 ) mi 2 a2( 2j) ; i 3,4,, n
bi(3)
bi( 2) mi 2b2( 2 ) ; i 3,4,, n
mi 2
E assim por diante, até obter um sistema da forma
­a11(1) x1 a12(1) x2 a13(1) x3 a1(1n) xn b1(1)
°
( 2)
( 2)
a22
x2 a23
x3 a2( 2n) xn b2( 2 )
°°
( 3)
a33
x3 a3(3n) xn b3(3)
®
°
°
(n)
ann
xn bn( n )
°¯
O SISTEMA TRIANGULAR PODE SER FACILMENTE RESOLVIDO
ATRAVÉS DE UMA RETROSUBSTITUIÇÃO
( 2)
Ó Os elementos a11(1) , a22
,, an( n1,1n)1 são denominados de Pivots
Ó O lado direito do sistema de equações é modificado da mesma forma
que os coeficientes das equações
Ó Melhor tratar o sistema na forma matricial, com o lado direito do sistema
sendo a coluna n+1 da matriz, conforme mostrado a seguir
ª a11
«a21
«a
« 31
« «¬ an1
bi( k ) , i 1,2,, n
ai(,kn)1
a12
a22
a32
an 2
a1n 1
a2 n 1
a3n 1
ann a
a1n b1 º
a2 n b2 »
a3n b3 »
»
»
ann bn »¼
ALGORÍTMO
RETROSUBSTITUIÇÃO
ELIMINAÇÃO
For k 1, n 1
For i k 1, n
aik( k )
mik
(k )
akk
For j k 1, n 1
aij( k 1) aij( k ) mik akj( k )
end
end
end
For i n,1,1
sum 0
For k i 1, n
sum sum aik(i ) * xk
end
ai(,in)1 sum
xi
aii(i )
end
NÚMERO DE OPERAÇÕES:
RETROSUBSTITUIÇÃO
ELIMINAÇÃO
n 1
¦ (n k )(n k 1) |
n
1
3
n
¦ (i 1)
3
1
2
n( n 1) | 12 n 2
i 1
k 1
Ó O maior custo computacional ocorre no processo de eliminação
Ó Supor que o tempo de cada operação seja de 1 microsegundo t 10 6 s
O tempo em segundos de cada parte do algoritmo é mostrado abaixo
n
Eliminação
Retrosubstituição
10
100
1000
0.0050 s
5s
5000 s
0.0008 s
0.075 s
7.5 s
PIVOTAMENTO
RESOLVER O SISTEMA POR ELMINAÇÃO GAUSSIANA
­ x1 x2 x3 1
°
® x1 x2 2 x3 2 Ÿ
°̄ x1 2 x2 2 x3 1
Sistema não singular, e a solução é: x1
ª1 1 1 1 º
«1 1 2 2»
«¬1 2 2 1 »¼
x2
x3 1
Após o primeiro passo na eliminação, a matriz fica sendo:
ª1 1 1 1 º
«0 0 1 1 »
¬«0 1 1 0»¼
( 2)
o a22
0
A eliminação não pode continuar pelo procedimento normal.
Uma solução seria trocar a posição das linhas 2 e 3, o que já fornece a matriz triangular
OUTRO EXEMPLO: RESOLVER O SISTEMA POR ELMINAÇÃO GAUSSIANA
­ x1 x2 x3 1
°
® x1 1.0001x2 2 x3
°̄ x1 2 x2 2 x3 1
2 Ÿ
Sistema não singular, e a solução é: x1
ª1 1 1
«1 1.0001 2
¬«1 2 2
1 e x2
1º
2»
1 ¼»
x3 1.0001
O sistema triangular obtido após a eliminação sem troca de linhas é:
1
1 º
ª1 1
0
0
.
0001
1
1 »
«
«¬0 0 9999 10000 »¼
O processo de retrosubstituição usando uma precisão de 3 casas decimais fornece:
x1
0, x2
0, x3 1.000
Resultado incorreto
Se as linhas 2 e 3 fossem trocadas durante o processo de eliminação, a solução
também usando uma precisão de 3 casas decimais seria
x1 1.000, x2
1.000, x3 1.000
Resultado correto usando uma
precisão de 3 casas decimais
Ó Para evitar falha catastrófica (divisão por zero) ou resultados errados
é necessário fazer uma escolha criteriosa dos PIVOTS usados na eliminação
PIVOTAMENTO PARCIAL
PIVOTAMENTO COMPLETO
k
PIVOTAMENTO PARCIAL
No passo k do processo de eliminação
x Escolher r como o menor inteiro tal que
ark( k ) max aik( k ) , k d i d n
k
r
x Trocar linhas k e r
k
PIVOTAMENTO COMPLETO
s
No passo k do processo de eliminação
x Escolher r e s como os menores inteiros tal que
ars( k ) max aij( k ) , k d i, j d n
x Trocar linhas k e r , e colunas k e s
k
r
Ó A Eliminação Gaussiana deve ser feita sempre com PIVOTAMENTO
para garantir estabilidade do método
Ó Na grande maioria dos casos, PIVOTAMENTO PARCIAL é suficiente
e deve ser usada no lugar de PIVOTAMENTO COMPLETO
Ó PIVOTAMENTO COMPLETO não é muito usado devido ao grande
tempo computacional gasto no processo de busca do pivot.
Ó PIVOTAMENTO não é necessário em dois casos particulares
MATRIZ DIAGONAL DOMINANTE
n
aii t
¦a
ij
, i 1,2,, n.
j 1
j zi
MATRIZ SIMÉTRICA E POSITIVA-DEFINIDA
AT
A (aij
a ji ) e xT Ax ! 0, x z 0
DECOMPOSIÇÃO LU
Ó Muitas vezes o mesmo sistema é resolvido com
diferentes termos independente (lado direito do sistema)
b1 ; Ax 2
Ax1
b2; Ó Pode-se evitar o processo repetido de eliminação gaussiana através
de uma decomposição da matriz A
Ó Todo matriz não singular pode ser decomposta como o produto de uma matriz
triangular inferior L e uma matriz triangular superior U
A
LU;
§1
¨ l21
¨
L ¨ l31
¨ ¨l
© n1
§ u11
0 0 0·
¨ 0
1 0 0¸
¨
¸
l32 1 0 ¸ ; U ¨ 0
¨ ¸
¨ 0
ln 2 ln ,n 1 1 ¸¹
©
u12 u13 u1n ·
u 22 u 23 u 2 n ¸¸
0 u33 u3n ¸
¸
0 0 u nn ¸¹
Ó A decomposição não é única.
Ó Uma vez feita a decomposição, a solução do sistema fica reduzida a solução
de dois sistemas triangulares:
L Ux
,
b Ÿ
Sistema triangular inferior
Sistema triangular superior
y
Resolver Ly
b e depois Ux
y
Ó A matriz L corresponde aos coeficientes mik da eliminação gaussiana e a matriz
U corresponde a matriz triangular superior obtida na eliminação gaussiana
MÉTODO DE CHOLESKI
Ó Matriz simétrica, positiva-definida
Ó Escolher L e U de forma que U
u kk
LT
mkk e u pk
mkp
1/ 2
k 1
§
·
2
¨ akk ¦ mkp
¸
¨
¸
p 1
©
¹
mkk
k 1
aik ¦ mip mkp
p 1
mik
mkk
,i
k 1, , n
MATRIZES DE BANDA
Ó Matrizes onde os elementos diferentes de zero estão localizados em
uma banda centrada na diagonal principal da matriz
Ó As matrizes obtidas em resolução de um problema de valor de contorno
são geralmente de banda, daí a importância do estudo deste tipo de matriz
p
q
0
aij
0 se j ! i p ou i ! j q
Banda da Matriz : w
p q 1
0
Ó A estrutura de banda não é perdida, se não forem realizadas nenhuma
troca de linhas ou coluna (pivotamento parcial ou completo)
Ó As matrizes L e U serão matrizes de banda.
mij 0 se j ! i ou i ! j q
uij 0 se j ! i p ou i ! j
EXEMPLO
Ó Sem pivotamento
A estrutura de banda não é perdida
Ó Com pivotamento (troca linha 1 e 3)
A estrutura de banda é perdida
§a
¨a
¨
¨a
¨
¨
¨
©
a
aa
aaa
aaaa
aaa
aa
§a
¨a
¨
¨a
¨
¨
¨
©
aaa
·
§u
¸
¨m
aa
¸
¨
a
¸ Ÿ 1 passo Ÿ ¨ m
aaaa ¸
¨
¸
¨
aaaa
¸
¨
a a a¹
©
·
§u
¸
¨m
¸
¨
¸ Ÿ 1 passo Ÿ ¨ m
¸
¨
¸
¨
a
¸
¨
a¹
©
u
·
¸
a' a'
¸
a' a' a'
¸
a a a a ¸
a a a a¸
a a a ¸¹
u
a'
a'
a
u
a'
a'
a
a
u
·
¸
a'
¸
a'
¸
a a ¸
a a a¸
a a a ¸¹
Ó Os algoritmos devem ser escritos levando em conta a estrutura da matriz
Ó Grande economia de tempo computacional
MATRIZ TRIDIAGONAL
Ó Matriz de banda com p = q = 1
§ a1 c1 0
¨b a c
¨ 2 2 2
¨
bn 1
¨0
¨0 0 ©
an 1
bn
0 ·
0 ¸¸
¸
cn 1 ¸
an ¸¹
Ó Decomposição LU da matriz triagonal:
§ a1 c1 0
¨b a c
¨ 2 2 2
¨
bn 1
¨0
¨0 0 ©
an 1
bn
0 · § 1 0 0 0 ·§D1 c1 0 0 ·
0 ¸¸ ¨ E 2 1 0 0 ¸¨¨ 0 D 2 c2 0 ¸¸
¨
¸
¸ ¨ ¸
¸¨ 0
E
1
0
cn 1 ¸ ¨
0 D n 1 cn 1 ¸
n 1
¸¨ 0
an ¸¹ ¨© 0 0 E n 1 ¸¹¨© 0 0 0 D n ¸¹
L
D1
bk
a1 , E k
D k 1
, Dk
U
ak E k ck 1 ; k
2,3,, n
Ó A solução do sistema é feita através de uma resolução de sistemas triangulares
g1
xn
f1 ,
gn
Dn
gi
,
xi
f i E i g i 1 ; i 2,3,, n
g i ci xi 1
; i n 1, n 1,,2,1
Di
ANÁLISE DE ERRO DA DECOMPOSIÇÃO LU
Ó Considere o sistema Ax
b
Ó Asolução do sistema sempre apresenta algum erro devido a
erros de truncamento que ocorrem durante o processo
Ó Denominar solução obtida como x
Ó Definir vetor resíduo como R
R
0 Ÿ x
x
b Ax
Solução calculada é a solução exata
Ó Espera-se que quando o vetor resíduo seja próximo a zero,
a solução calculada seja próxima da solução exata
Ó Isto nem sempre é verdade !
Considere o exemplo
Solução exata: x
0.8648 · e b § 0.8642 ·
A §¨10..2969
¨ 0.1440 ¸
2161
0.1441 ¸¹
©
©
¹
§¨ 2.0000 ·¸
© 2.0000 ¹
Solução obtida:
·¸ Ÿ
x §¨ 00.9911
.
4870
©
¹
0.8642 · §1.2969 0.8648 ·§ 0.9911 · § 10 8 ·
R b Ax §¨ 0
¸ ¨
¸¨
¸ ¨ 8 ¸
© .1440 ¹ © 0.2161 0.1441 ¹© 0.4870 ¹ © 10 ¹
Apesar do vetor resíduo ser muito pequeno, a solução obtida
não é muito distante da solução exata
Este problema pode ser explicado analisando-se o processo
de eliminação gaussiana
Processo de eliminação gaussiana
( 2)
a22
b2( 2 )
Ÿ
a21
0.2161
a12 0.1441 u 0.8648 0.1441 0.1440999923 | 10 8
a11
1.2969
a
0.2161
b2 21 b1 0.1440 u 0.8642 0.1440 0.1440000154 | 10 8
1.2969
a11
( 2)
b2
0.4870
x2
( 2)
a22
a22 Ó Uma pequena variação no elemento 0.1441 causa uma
( 2)
grande variação no elemento a22
e consequentemente em x 2
Ó Para uma análise da precisão da eliminação gaussianda,
é necessário usar o conceito de norma de vetores e matrizes
NORMA DE VETOR E MATRIZ
Ó Escalar não negativo que em algum sentido mede a
magnitude de um vetor ou matriz
Ó Norma p de um vetor
x
p
x
1
p
x2
p
xn
Norma Euclideana: p=2
Norma do máximo: p=infinito
x
2
x
1
x
f
p 1/ p
2
,1d p f
2
x2 xn
max xi
1di d n
Ó Propriedades de uma Norma
x ! 0, se x z 0 e x 0, se x 0
Dx D x , D escalar
xy d x y
2 1/ 2
Ó Norma de uma Matriz
max
A
xz 0
Ax
x
n
A
Para Norma do máximo, pode-se mostrar que
f
max
1di d n
¦a
ij
j 1
Ax d A x
Relação entre a norma de um vetor e de uma matriz:
ANÁLISE DE PERTURBAÇÃO
Ó Analisar o efeito de pequenas perturbações
na matriz A e vetor b na solução x
Ax b Ÿ x A 1b
A ( x Gx) (b Gb) Ÿ Gx
A GA (x Gx)
A 1Gb Ÿ
Gx d A 1 Gb
AGx GA (x Gx) 0 Ÿ Gx A 1GA ( x Gx)
Gx
GA
Gx d A 1 GA x Gx Ÿ
d A 1 A
x Gx A
b Ÿ
K (A)
Como b
Ax
Ÿ
b d A x
Ÿ
Gx
x
d K ( A)
Gb
b
Condicionamento da matriz
Se o condicionamento da matriz for alto, pequenas perturbações
na matriz A e no vetor b provacam grandes perturbações na solução
A Matriz é dita mal-condicionada e a solução do problema torna-se imprecisa
Ó Para determinar o condionamento de uma matriz é necessário calcular
a norma da matriz inversa, que normalmente não é conhecida
0.8648 ·
Ó No exemplo anterior: A 1 108 u §¨ 00.1441
.
2161
1.2969 ¸¹
©
Ÿ A 1 (1.2969 0.2161) u 108 1.513 u 108
A
Ÿ
(1.2969 0.8648)
2.1671
K ( A ) | 3.3 u 10 o Matriz mal - condiciona da
8
Exercício 1
Escreva uma rotina MatLab para solução de um sistema linear sem pivotamento e uma outra com
pivotamento parcial. Escreva um programa principal que realize as seguintes operações:
1. Defina a matrix A e o vetor b do sistema linear Ax = b, onde
A
ª 3.03 12.1 14 º
« 3.03 12.1 7 » ;
«
»
¬« 6.11 14.2 21 »¼
b
ª 119º
« 120 »
«
»
¬« 139¼»
2. Chame a função para solução do sistema sem pivotamento
3. Chame a função para solução do sistema com pivotamento
Explique o que ocorreu.
Exercício 2
Modifique a rotina desenvolvida de forma a resolver o sistema linear Ax = b, onde
௡
‫ܣ‬௜௝ ൌ
ଵ
௜ା௝ାଵ
ܾ௜ ൌ ෍ ‫ܣ‬௜௝
௝ୀଵ
Observe que a solução exata do sistema é
‫ݔ‬௜ ൌ ͳ
MÉTODOS ITERATIVOS
Fornece uma sequência de soluções aproximadas que convergem
quando o número de passos tende a infinito
x ( 0) Ÿ x (1) Ÿ x ( 2) Ÿ Ÿ x ( k )
Chute inicial
lim x ( k )
x
k of
Usado para matrizes esparsas e grandes
Menor necessidade de memória de armazenamento
Eliminação Gaussiana “enche” a matriz
Problemas de convergência
MÉTODO DE JACOBI
O sistema de equações pode ser escrito como
n
¦a
bi , para i 1,2,, n
ij x j
j 1
n
n
aii xi ¦a
ij x j
Ÿ
bi
¦a
ij x j
j 1
j zi
xi
aii
j 1
j zi
bi
, para i 1,2,, n
No Método de Jacobi, a sequência de aproximações é obtida por:
n
xi( k 1)
¦a
(k )
ij x j
j 1
j zi
aii
bi
, para i 1,2,, n
MÉTODO DE GAUSS-SEIDEL
No método de Jacobi, os novos valores de x só são usados no próximo passo
No método de Gauss-Seidel, os novos valores de x são usados
a medida que eles são obtidos
Para j<1, os novos valores de
xj já foram calculados
n
¦a
ij x j
bi , para i 1,2,, n
j 1
i 1
¦a
n
ij x j
aii xi ¦a
ij x j
bi
Ÿ
i 1
¦a
ij x j
j 1
xi
¦a
ij x j
j i 1
aii
j i 1
j 1
n
bi
, para i 1,2,, n
No Método de Gauss-Seidel, a sequência de aproximações é obtida por:
xi( k 1)
i 1
¦
¦a x
ij
(k )
j
bi
j i 1
j 1
, para i 1,2,, n
aii
EXEMPLO: Resolver Ax = b
Chute inicial : x
n
aij x (jk 1) (0)
§ 0·
¨ 0¸
¨ 0¸
¨ 0¸
© ¹
§ 4 1 1 0 ·
§1·
¨ 1 4 0 1¸
¨ ¸
A ¨ 1 0 4 1¸ ; b ¨ 02 ¸
¨1¸
¨ 0 1 1 4 ¸
© ¹
©
¹
MÉTODO DE JACOBI
x1(1)
x1( 2 )
1
2
0
1
0.25 ; x2(1)
0.5 ; x3(1)
0.0 ; x4(1)
0.25
4
4
4
4
( 1) u 0.5 (1) u 0.0 (0.0) u 0.25 1
0.375 ; x2( 2 ) 4
k
X1(k)
X2(k)
X3(k)
X4(k)
0
1
2
3
0.0
0.25
0.375
0.4375
0.0
0.5
0.625
0.6875
0.0
0.0
0.125
0.1875
0.0
0.25
0.375
0.4375
8
0.49805
0.74793
0.24793
0.49805
MÉTODO DE GAUSS-SEIDEL
x1(1)
x3(1)
1
(1) u 0.25 2
0.25 ; x2(1)
0.5625 ;
4
4
( 1) u 0.25 0
(1) u 0.5625 ( 1) u 0.0625 1
0.0625 ; x4(1)
0.40625
4
4
k
X1(k)
X2(k)
X3(k)
X4(k)
0
1
2
3
0.0
0.25
0.40625
0.47656
0.0
0.5625
0.70312
0.73828
0.0
0.0625
0.20312
0.23828
0.0
0.40625
0.47656
0.49854
5
0.49854
0.74927
0.24927
0.49963
De um modo geral, os dois métodos podem ser escritos como
x ( k 1)
Bx(k ) c
Os diferentes métodos possuem diferentes formas para matriz B e o vetor c.
Uma matriz A pode ser decomposta na soma de três matrizes:
Diagonal + Triangular Superior + Triangular Inferior
D(L I U)
A
Ó O Método de Jacobi pode ser escrito como:
n
xi( k 1)
¦a
(k )
ij x j
bi
j 1
j zi
, para i 1,2,, n Ÿ x ( k 1)
aii
L U x ( k ) D 1b
L U BJ
Ó O Método de Gauss-Seidel pode ser escrito como:
xi( k 1)
i 1
¦
j 1
aij x (jk 1)
n
¦a
(k )
ij x j
j i 1
bi
, para i 1,2,, n Ÿ
aii
x ( k 1)
Lx ( k 1) Ux ( k ) D 1b
BGS
I L U
1
ANÁLISE DE CONVERGÊNCIA
x ( k 1)
Bx(k ) c
Se x é solução do sistema Ax = b : x
Bx c
O erro de cada aproximação x(k) é obtido pela subtração das equações
x ( k 1) x B(x ( k ) x) B 2 (x ( k 1) x) B k 1(x ( 0) x)
Vamos supor que B tenha n autovetores linearmente independentes. Esses
n vetores formam uma base do espaço vetorial. Qualquer vetor pode
ser escrito como uma combinação linear dos autovetores.
Autovalores : O1 , O2 ,, On
Autovetores : u1 , u 2 ,, u n
x ( 0 ) x D 1 u1 D 2 u 2 D n u n
x (1) x B(x ( 0) x) D 1Bu1 D 2 Bu 2 D n Bu n
Ÿ
Ÿ x (1) x D 1O1u1 D 2 O2u 2 D n On u n
x ( k ) x D 1O1k u1 D 2 Ok2u 2 D n Okn u n
Ó Raio Espectral de B: U (B)
max Oi (B) 1
1di d n
O processo iterativo converge somente se somente se U (B) 1
A taxa de convergência é dada por R
log 10 U (B) Os autovalores de B não são conhecidos e esta condição não é facilmente
aplicada. Uma condição suficiente que pode ser aplicada é que
para o processo iterativo convergir:
B 1
MÉTODO DE JACOBI
aij
L U Ÿ bij
BJ
aii
Se B for diagonal-dominante
aij
n
, i z j bii
max
BJ
0
1di d n
¦a
j 1
j zi
ii
B J 1 o Processo Converge
MÉTODO DE GAUSS-SEIDEL
n
I L U
1
BGS
B GS
Ÿ
yk
f
¦b
yk
x 0
¦
j 1
j zi
i 1
n
y
max
kj x j
j 1
y
f
x
f
y k d sk y
f
B GS
f
f
rk x
ri
1d i d n 1 s
i
d max
B GS x
n
¦b
kj y j
¦b
kj x j
j i 1
j 1
n
y
, y
¦
, onde ri
f
j i 1
aij
aii
, si
i 1
aij
j 1
ii
¦a
o Processo converge se A for diagonal dominante
MÉTODO SOR (SUCCESSIVE OVERRELAXATION)
Ó Modificação do Método de Gauss-Seidel para melhorar a taxa de convergência
xi( k 1)
i 1
¦
n
¦
aij x (jk 1) aij x (jk ) bi
j i 1
j 1
i 1
¦
aij x (jk 1) n
¦a
aii
BZ
xi( k 1)
i 1
¦
j 1
xi( k ) Z ri( k )
(I ZL) 1 >(1 Z )I ZU @
0 Z 2
aii xi( k ) bi
aii
xi( k ) ri( k ) , onde ri( k )
SOR Ÿ
(k )
ij x j
j i 1
j 1
xi( k 1)
aij x (jk 1)
n
¦a
(k )
ij x j
bi
j i
aii
ZParâmetro de Relaxação
aii xi( k )
aii
Exercício 3
Resolva o sistema linear Ax = b utilizando os métodos de Jacobi e Gauss-Seidel
௡
‫ܣ‬௜௝ ൌ
ଵ
௜ା௝ାଵ
ܾ௜ ൌ ෍ ‫ܣ‬௜௝
௝ୀଵ
Observe que a solução exata do sistema é
‫ݔ‬௜ ൌ ͳ
Solução de Sistema de Equações Não-Linear
Ax
b
A
A (x)
Método de Picard:
(0)
>u
(0)
1
, u2( 0) , u3( 0 ) , , u N( 0)
@
1.
Chute inicial;
2.
Calcular coeficientes da matriz usando o valor atual das incógnitas;
A
3.
c
Ac
(k )
Resolver o sistema de equações e determinar o novo valor das
incógnitas;
c
( k 1)
Ac (k )
1
f
•
Comparar solução atual com anterior;
•
Se não covergiu, voltar para 2.
Convergência Ruim
Método de Newton:
Generalização do Método de Newton para 1 equação não-linear
f x 'x f x 'x f c x 'x 2 f cc x f x 'x 0 | f x 'x f c x 'x f x f c x PROCEDIMENTO ITERATIVO
Chute inicial : x( 0 )
i 0
While f ( x(i ) ) ! H , do
f ( x( i ) )
'x f c( x(i ) )
x(i 1) x(i ) 'x
i i 1
Raiz : x(i 1)
­ f ( x , x , x ,, x )
0
N
Sistema a ser resolvido: ° 1 1 2 3
f ( x , x , x ,, xN ) 0
° 2 1 2 3
°
® f 3 ( x1 , x2 , x3 , , x N ) 0
°
°
°¯ f N ( x1 , x2 , x3 , , x N ) 0
Expansão por série de Taylor até termos de primeira ordem de cada equação:
f1 ( x1 'x1 , x2 'x2 , , x N 'x N ) 0 |
wf
wf
wf
f1 ( x1 , x2 , , x N ) 1 'x1 1 'x2 1 'x N
wx1
wx2
wx N
f 2 ( x1 'x1 , x2 'x2 , , x N 'x N ) 0 |
wf
wf
wf
f 2 ( x1 , x2 , , x N ) 2 'x1 2 'x2 2 'x N
wx N
wx2
wx1
f N ( x1 'x1 , x2 'x2 , , x N 'x N ) 0 |
wf
wf
wf
f N ( x1 , x2 , , x N ) N 'x1 N 'x2 N 'x N
wx N
wx1
wx2
wf1
wf
wf
'x1 1 'x2 1 'x N
wx1
wx2
wx N
wf 2
wf
wf
f 2 ( x1 , x2 , , x N )
'x1 2 'x2 2 'x N
wx1
wx2
wx N
wf
wf
wf N
'x1 N 'x2 N 'x N
f N ( x1 , x2 , , x N )
wx N
wx2
wx1
f1 ( x1 , x2 , , x N )
wf1 º
ª wf1 wf1
« wx
wx2
wx N » ª 'x1 º
1
«
»
w
w
w
f
f
f
2
2
2
«
» « 'x 2 »
»
« wx1 wx2
wx N » «
« »« »
«
» «'x »
w
w
w
f
f
f
N¼
N
N »¬
« N
«¬ wx1 wx2
wx N »¼ 'x
Sistema em
Forma matricial
ª f1 º
«f »
« 2 »
« »
« »
fN ¼
¬,
f
J
Matrix Jacobiana
'x
J
1
J ij
f
wf i
wx j
PROCEDIMENTO ITERATIVO
Chute inicial : c
i 0
(0)
! H , do
While f c
(i )
'x J 1 f
( i 1)
Solução de um sistema linear
c
c 'x
i i 1
Raiz : c
(i )
( i 1)
Convergência Quadrática
Exemplo: Resolver o sistema abaixo pelo
(a) método de Picard e
(b) método de Newton
­°2 xy y 2
®
°̄ x 4 x 2 y
3
5
Download