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

35
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: 0 ) ( x f Algumas equações mais simples possuem solução analítica, como 3 e 2 0 6 5 10 20 2 2 x x x x x x 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 ) ( 0 ) ( 0 ) ( * * ) ( * * * * x g x x g x x f x f x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO ) ( ) 1 ( ) ( ) 1 ( ) ( ) 1 ( ) ( ) 0 ( : Raiz ) ( 1 repetir , Enquanto ) ( 1 : inicial Chute i i i i i i i x x g x i i x x x g x i x x ) ( x g x * x RAIZ ) 0 ( x ) ( ) 0 ( ) 1 ( x g x ) 2 ( x ) ( ) 0 ( x g ) ( ) 1 ( x g

Transcript of CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP –...

Page 1: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

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:

0)( xf

Algumas equações mais simples possuem solução analítica, como

3 e 2065

102022

xxxx

xx

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

)(0)(0)( **

)(

***

*

xgxxgxxf

xf

x* é raiz da equação f(x) = 0

PROCEDIMENTO ITERATIVO

)(

)1()(

)1()(

)1()(

)0(

:Raiz)(

1repetir , Enquanto

)(1

:inicial Chute

i

ii

ii

ii

xxgx

iixx

xgxi

x

x

)(xg

x

*xRAIZ

)0(x

)( )0(

)1(

xg

x

)2(x

)( )0(xg)( )1(xg

Page 2: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

0 xex

xx exgex )(

EXEMPLO 1: RESOLVER

69220.0)(

36788.0)(

1

36788.0)1()2(

1)0()1(

)0(

exgx

exgx

x

n xn g(xn)0 1 0.367881 0.36788 0.692202 0.69220 0.500473 0.50047 0.606244 0.60624 0.545405 0.54540 0.579616 0.57961 0.560127 0.56012 0.571148 0.57114 0.564889 0.56488 0.56843

10 0.56843 0.5664111 0.56641 0.56756. . .

20 0.56714 0.56714

01x

12)(12 xxgxx

EXEMPLO 2: RESOLVER

6.018.02)(8.019.02)(

9.0

)1()2(

)0()1(

)0(

xgxxgx

x

n x n g ( x n )0 0 . 9 0 . 81 0 . 8 0 . 62 0 . 6 0 . 23 0 . 2 - 0 . 6

Processo iterativo diverge

PORQUE ???

x)(xg

x

*xRAIZ

)0(x

)( )0(

)1(

xg

x

)2(x

)( )0(xg)( )1(xg

DIVERGE

x

)(xg

x

*xRAIZ

)0(x

)( )0(

)1(

xg

x

)2(x

)( )0(xg

)( )1(xg

CONVERVE OSCILANDO

OSCILANDO CONVERGE0)(1

MENTEMONOTONICA CONVERGE1)(0

DIVERGE1)(

xg

xg

xg

Page 3: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

MÉTODO DE BISSEÇÃO

SE f(x) É UMA FUNÇÃO CONTÍNUA E f(a).f(b) < 0A RAIZ DE f(x) PERTENCE AO INTERVALO (a,b)

MÉTODO DE BISSEÇÃO CRIA UMA SEQUENCIA DE INTERVALOSCADE VEZ MENOR QUE CONTENHA A RAIZ

)(xf

x

*x0a

0b

),( 00 ba

),( 11 ba

1m 2m

i

iii

ii

ii

ii

ii

ii

ii

i

i

mbam

ii

mbaa

mfaf

bbma

bfmfmf

bami

bfafba

:Raiz21

1end

then0)()( ifend

then0)()( ifdo ,)( While

211

0)()( que tal e Escolher

11

1

1

1

1

00

0000

0sin2

2

xx

EXEMPLO 3: RESOLVER

i ai-1 f(ai-1) bi-1 f(bi-1) mi f(mi)1 1.5 <0 2 >0 1.75 <02 1.75 2 1.875 <03 1.875 2 1.9375 >04 1.875 1.9375 1.90625 <05 1.90625 1.9375 1.9219

CONVERGÊNCIA EXTREMAMENTE LENTA

CONVERGÊNCIA MELHORA USANDO VALORES DE f(x)NO CÁLCULO DE mi

)()(

)()(

11

1111

ii

iiiii bfaf

bfaafbm

Page 4: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

MÉTODO DE NEWTON-RAPHSON (DE NEWTON)

)(xf

x*x)0(x)1(x)2(x

)(

)(

)()(

tan

1

1

i

iii

iii

i

xf

xfxx

xfxx

xf

PROCEDIMENTO ITERATIVO

)1(

)()1(

)(

)(

)(

)0(

:Raiz1

)(

)(do ,)( While

0 :inicial Chute

i

ii

i

i

i

xii

xxxxf

xfx

xfi

x

0sin2

2

xx

EXEMPLO 4: RESOLVER

i xi f(xi) f’(bi) x0 1.5 0.434995 -0.67926 0.640391 2.14039 -0.30319 -1.60948 -0.188382 1.95201 -0.02437 -1.34805 -0.018083 1.93393 -0.00023 -1.32217 -0.000184 1.93375 0.000005 -1.32191

CONVERGÊNCIA RÁPIDA

O TAMANHO DO PASSO DIMINUI A CADA ITERAÇÃODE UM FATOR DE 10

Page 5: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

0 xexEXEMPLO 5: RESOLVER

i xi f(xi) f’(bi) x0 0.01234

PROPRIEDADE DE CONVERGÊNCIA

Vamos supor que é uma raiz simples de f(x): 0)( e 0)( ff

Obter uma estimativa de erro para a aproximação xn do Método de Newton

nn x

Expandindo f(x) em série de Taylor em x=xn com um passo - xn

)(

)(

2

1lim

)(

)(

2

1

)(

)()(2

1

)(

)(

)(

)()(2

1

)()(

)(

),();()(2

1)()()(0

0)()(

22

121

2

1

2

2

1

f

f

xf

f

xf

fx

xf

xfx

xf

fxx

xf

xf

xfxxfxxf

fxxf

nn

n

xn

nn

n

n

n

x

n

nn

n

n

nn

n

nnnnn

nn

n

n

)(

)(

2

1

f

f

Page 6: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

Quando perto da solução, o erro cai quadraticamente:

85

44

23 101010

PROBLEMAS COM O MÉTODO DE NEWTON

O chute inicial deve estar suficientemente próximo da solução

)(xf

x*x)0(x )1(x

)(xf

x

)0(x)1(x

O processo iterativo passa por umponto de máximo ou mínimo local

*x

O processo iterativo pode entrar em um ciclo que não converge

)(xf

x*x)0(x

)1(x

Os problemas com o Método de Newton podem ser resolvidos comum chute inicial perto da solução

Combinar um método com convergência global boa (mas lenta) como método de Newton (convergência global ruim, mas extremamenterápido quando perto da solução)

Page 7: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

MÉTODO DA SECANTE

O cálculo da derivada f ’(x) pode ser muito complicado ou caro computacionalmente

Aproximar a derivada por:

1

1)()()(

ii

ii

xx

xfxfxf

PROCEDIMENTO ITERATIVO

)1(

)()1(

)1()(

)1()()(

)(

)1()0(

:Raiz1

)()()(

do ,)( While1

e :inicial Chute

i

ii

ii

iii

i

xii

xxxxfxf

xxxfx

xfi

xx

INTERPRETAÇÃO GEOMÉTRICA

)(xf

x*x)0(x)1(x)2(x

Necessita de 2 chutes iniciais

Convergência não é quadrática

0sin2

2

xx

EXEMPLO 6: RESOLVER

i xi f(xi) x0 1.0 -0.591471 2.0 0.090702345

Page 8: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

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) (b)1)( 2 xxf xexxf 21)(

Exercício

Script Principal

Page 9: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

Método da Bisseção

Método de Newton

Page 10: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

�M

aior parte do tempo de um

a simulação por elem

entos finitos,diferenças finitas ou outro m

étodo numérico é gasto na

resolução do sistema de equações obtido com

a discretização

�N

ecessidade de métodos robustos e rápidos

SOL

ÃO

DE

SISTE

MA

DE

EQ

UA

ÇÕ

ES

�A

solução de um sistem

a 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 problem

as de engenharia

SISTEMA DE n EQUAÇÕES E n INCÓNITAS

��

��

����

��������

nnnnnn

nnnn

bxaxaxa

bxaxaxabxaxaxa

����

2211

22222121

11212111

� Se os coeficientes aij são constantes, o sistema é dito linear

� O sistema acima pode ser representado na forma de matriz:

����

����

����

����

�����

�����

nnnnannnn

nn

nn

nn

b

bbb

x

xxx

aaaa

aaaaaaaaaaaa

���

�������

3

2

1

3

2

1

21

3133231

2122221

1111211

bAx �

Page 11: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

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 armazenamentoMais robustoMais rápido

� MÉTODOS ITERATIVOS

Fornece uma sequência de soluções aproximadas que convergemquando o número de passos tende a infinito

Menor necessidade de memória de armazenamentoProblemas de convergência

MÉTODOS DIRETOSSISTEMAS TRIANGULARES

����

����

����

����

�����

�����

nnnn

nn

nn

nn

b

bbb

x

xxx

u

uuuuuuuuu

���

�������

3

2

1

3

2

1

313

21222

1111211

000

000

Se niuii ,,2,1,0 ��� as incógnitas podem ser facilmente calculadas

ii

n

ikkkii

i

nn

nnnnnnnnnnnn

nn

nn

u

xubx

uxub

xbxuxu

ubx

���

��

��������

��

�����

1,

1,1

,1111,111,1

:i linha

; :1-n linha

; :n linha

RETROSUBSTITUIÇÃO

Page 12: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

Se a matriz for triangular inferior:

����

����

����

����

�����

�����

� nnnnannnn b

bbb

x

xxx

llll

llll

l

���

�������

3

2

1

3

2

1

21

3231

2221

11

0000000

A solução é calculada da seguinte forma:

ii

i

ikkkii

i l

xlbx

lxlb

xbxlxl

lbx

��

��

�����

1

,

22

11,222222,211,2

11

11

:i linha

; :2 linha

; :1 linha

SUBSTITUIÇÃO A FRENTE

NÚMERO DE OPERAÇÕES: ��

������n

i

nnnnin1

2

2

1)1(

2

1)1(

ELIMINAÇÃO GAUSSIANA

��

��

����

��������

nnnnnn

nnnn

bxaxaxa

bxaxaxabxaxaxa

����

2211

22222121

11212111

� Eliminar as variáveis de uma maneira sistemática até obter um sistema triangular, de fácil solução

Eliminar x1 das (n-1) úlimas equações

Se

����

����

���

����

�����

����

������

����

���

���

����

�����

����

������

����

�����

����

��

����

111

11

11

1212

11

121

111

2121

11

212212

11

21221

0

1111

2121

11212111

0 baabxa

aaaxa

aaax

baabxa

aaaxa

aaaxa

aaa

bxaxaxa

nnnn

nnn

nn

nnn

nn

�� ��� ��

011 �a

Page 13: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

Eliminar x2 das (n-2) últimas equações

Se

Após o primeiro passo, o sistema fica sendo:

���

���

���

�������

)2()2(2

)2(2

)2(2

)2(22

)2(22

11212111

nnnnn

nn

nn

bxaxa

bxaxabxaxaxa

��

� Onde

nibmbbniamaa

niaam

iii

jiijij

ii

,,3,2;

,,3,2;

,,3,2;

11)2(

11)2(

11

11

���

���

��

0)2(22 �a

���

���

���

�������

�����

)3()3(3

)3(3

)3(3

)3(33

)3(33

)2(2

)2(23

)2(232

)2(22

11313212111

nnnnn

nn

nn

nn

bxaxa

bxaxabxaxaxa

bxaxaxaxa

��

nibmbbniamaa

niaam

iii

jiijij

ii

,,4,3;

,,4,3;

,,4,3;

)2(22

)2()3(

)2(22

)2()3(

)2(22

)2(2

2

���

���

��

E assim por diante, até obter um sistema da forma

���

���

������������

)()(

)3(3

)3(33

)3(33

)2(2

)2(23

)2(232

)2(22

)1(1

)1(13

)1(132

)1(121

)1(11

nnn

nnn

nn

nn

nn

bxa

bxaxabxaxaxa

bxaxaxaxa

��

O SISTEMA TRIANGULAR PODE SER FACILMENTE RESOLVIDOATRAVÉS DE UMA RETROSUBSTITUIÇÃO

� Os elementos são denominados de Pivots

� O lado direito do sistema de equações é modificado da mesma formaque os coeficientes das equações

� Melhor tratar o sistema na forma matricial, com o lado direito do sistemasendo a coluna n+1 da matriz, conforme mostrado a seguir

)1(1,1

)2(22

)1(11 ,,, �

��n

nnaaa �

Page 14: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

�����

�����

nnnannnn

nn

nn

nn

b

bbb

aaaa

aaaaaaaaaaaa

��

�������

3

2

1

21

3133231

2122221

1111211niba ki

kni ,,2,1,)()(

1, ����

endend

end

1,1For

,1For 1,1For

)()()1(

)(

)(

kkjik

kij

kij

kkk

kik

ik

amaankj

aam

nkink

�����

����

end

end*

,1For 0

1,1,For

)(

)(1,

)(

iii

ini

i

ki

ik

asuma

x

xasumsumnik

sumni

��

����

���

ALGORÍTMO

ELIMINAÇÃO RETROSUBSTITUIÇÃO

� O maior custo computacional ocorre no processo de eliminação

� Supor que o tempo de cada operação seja de 1 microsegundo

O tempo em segundos de cada parte do algoritmo é mostrado abaixo

st 610��

NÚMERO DE OPERAÇÕES:

��

����1

1

331)1)((

n

k

nknkn ��

����n

i

nnni1

221

21 )1()1(

ELIMINAÇÃO RETROSUBSTITUIÇÃO

n Eliminação Retrosubstituição10 0.0050 s 0.0008 s

100 5 s 0.075 s1000 5000 s 7.5 s

Page 15: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

PIVOTAMENTO

��

���

��

���

���������

122122111111

12222

1

321

321

321

xxxxxx

xxx

RESOLVER O SISTEMA POR ELMINAÇÃO GAUSSIANA

Sistema não singular, e a solução é: 1321 ���� xxx

Após o primeiro passo na eliminação, a matriz fica sendo:

0011011001111

)2(22 ��

��

���

a

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

��

���

��

���

������

���

1221220001.111111

122220001.1

1

321

321

321

xxxxxx

xxx

OUTRO EXEMPLO: RESOLVER O SISTEMA POR ELMINAÇÃO GAUSSIANA

Sistema não singular, e a solução é: 0001.1 e 1 321 ���� xxxO sistema triangular obtido após a eliminação sem troca de linhas é:

��

���

10000999900110001.001111

O processo de retrosubstituição usando uma precisão de 3 casas decimais fornece:

000.1,0 ,0 321 ��� xxx

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

000.1,000.1 ,000.1 321 ���� xxx Resultado correto usando uma precisão de 3 casas decimais

Resultado incorreto

Page 16: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

� 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 PARCIALPIVOTAMENTO COMPLETO

PIVOTAMENTO PARCIAL

No passo k do processo de eliminação

k

r

k

rknikaa

rk

ikk

rk

e linhasTrocar

,max

que talinteiromenor o como Escolher )()(

����

PIVOTAMENTO COMPLETONo passo k do processo de eliminação

k

r

k

skrknjikaa

srk

ijk

rs

e colunas e , e linhasTrocar

,,max

que talinteiros menores os como e Escolher )()(

����

s

� A Eliminação Gaussiana deve ser feita sempre com PIVOTAMENTOpara garantir estabilidade do método

� Na grande maioria dos casos, PIVOTAMENTO PARCIAL é suficientee deve ser usada no lugar de PIVOTAMENTO COMPLETO

� PIVOTAMENTO COMPLETO não é muito usado devido ao grandetempo computacional gasto no processo de busca do pivot.

� PIVOTAMENTO não é necessário em dois casos particulares

MATRIZ DIAGONAL DOMINANTE

MATRIZ SIMÉTRICA E POSITIVA-DEFINIDA

���

��n

ijj

ijii niaa1

.,,2,1, �

0xAxxAA ����� ,0 e)( Tjiij

T aa

Page 17: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

DECOMPOSIÇÃO LU� Muitas vezes o mesmo sistema é resolvido com

diferentes termos independente (lado direito do sistema)

� Pode-se evitar o processo repetido de eliminação gaussiana atravésde uma decomposição da matriz A

� Todo matriz não singular pode ser decomposta como o produto de uma matriztriangular inferior L e uma matriz triangular superior U

� A decomposição não é única.

�;; 2211 bAxbAx ��

�����

�����

�����

�����

��

� nn

n

n

n

nnnn u

uuuuuuuuu

lll

lll

000

000

;

1

010010001

; 333

22322

1131211

1,21

3231

21

��

���

��

���

ULLUA

� A matriz L corresponde aos coeficientes mik da eliminação gaussiana e a matrizU corresponde a matriz triangular superior obtida na eliminação gaussiana

� Uma vez feita a decomposição, a solução do sistema fica reduzida a soluçãode dois sistemas triangulares:

yUxbLy

bUxLy

��

��

depois e Resolver

Sistema triangular inferiorSistema triangular superior

Page 18: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

MÉTODO DE CHOLESKI

� Matriz simétrica, positiva-definida

� Escolher L e U de forma que TLU �

nkim

mmam

mam

mumu

kk

k

pkpipik

ik

k

pkpkkkk

kppkkkkk

,,1,

e

1

1

2/11

1

2

����

���

����

���

��

��

MATRIZES DE BANDA

� Matrizes onde os elementos diferentes de zero estão localizados emuma banda centrada na diagonal principal da matriz

� As matrizes obtidas em resolução de um problema de valor de contornosão geralmente de banda, daí a importância do estudo deste tipo de matriz

0

0

pq qjipijaij ����� ou se 0

1 :Matriz da Banda ��� qpw

� A estrutura de banda não é perdida, se não forem realizadas nenhumatroca de linhas ou coluna (pivotamento parcial ou completo)

� As matrizes L e U serão matrizes de banda.

jipijuqjiijm

ij

ij

��������

ou se 0ou se 0

Page 19: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

������

������

��

������

������

aaaaaaa

aaaaaaam

aamuu

aaaaaaa

aaaaaaaa

aaaaa

'''''

passo 1

EXEMPLO

� Sem pivotamentoA estrutura de banda não é perdida

� Com pivotamento (troca linha 1 e 3)A estrutura de banda é perdida

������

������

��

������

������

aaaaaaa

aaaaaaamaaamuuuu

aaaaaaa

aaaaaa

aaaaaaa

''''''

passo 1

� 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

�����

�����

���

nn

nnnab

cab

cabca

���

000

000

111

222

11

� Decomposição LU da matriz triagonal:

��� ���� ���

���

��� ���� ���

���

���

UL

�����

�����

�����

�����

�����

�����

������

n

nn

n

n

nn

nnn c

cc

abcab

cabca

��

��

00000

0000

100010

0010001

000

000

11

22

11

1

2

111

222

11

nkcaba kkkkk

kk ,,3,2;,, 1

111 ������ �

��

� A solução do sistema é feita através de uma resolução de sistemas triangulares

1,2,,1,1;,

,,3,2;,

1

111

����

��

�����

nnixcgxgx

nigfgfg

i

iiii

n

nn

iiii

��

Page 20: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

ANÁLISE DE ERRO DA DECOMPOSIÇÃO LU

� Considere o sistema bAx �

� Asolução do sistema sempre apresenta algum erro devido a erros de truncamento que ocorrem durante o processo

� Denominar solução obtida como

� Definir vetor resíduo como

x

xAbR ��

xx0R ��� 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 ����

����

���

��� 1440.0

8642.0 e 1441.02161.08648.02969.1 bA

Solução exata: ����

���� 0000.2

0000.2x

Solução obtida:

���

������

���

����

���

����

���

�����

�����

����

8

8

1010

4870.09911.0

1441.02161.08648.02969.1

1440.08642.0

4870.09911.0

xAbR

x

Apesar do vetor resíduo ser muito pequeno, a solução obtidanão é muito distante da solução exata

Este problema pode ser explicado analisando-se o processode eliminação gaussiana

Page 21: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

4870.0

101440000154.01440.08642.02969.1

2161.01440.0

101440999923.01441.08648.02969.1

2161.01441.0

)2(22

)2(2

2

81

11

212

)2(2

812

11

2122

)2(22

����

���!����

���!����

abx

baabb

aaaaa

Processo de eliminação gaussiana

� Uma pequena variação no elemento 0.1441 causa uma grande variação no elemento e consequentemente em )2(

22a 2x

� 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

" # $%����� pxxxpp

npp

p 1,/1

21 �x

Norma Euclideana: p=2

Norma do máximo: p=infinito

" # 2/1222

212 nxxx ���� �x

inix

��$�

1maxx

� Propriedades de uma Norma

yxyxxx

0xx0xx

����

����escalar ,

se ,0 e se ,0

���

Page 22: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

� Norma de uma Matrizx

AxA

0x�� max

Para Norma do máximo, pode-se mostrar que

Relação entre a norma de um vetor e de uma matriz:

��

��$�

n

jijni

a1

1maxA

xAAx �

ANÁLISE DE PERTURBAÇÃO

� Analisar o efeito de pequenas perturbações na matriz A e vetor b na solução x

" #

AA

AAxx

xxxAAx

xxAAxxxAxAbxxAA

bAxbAxbbxxAbAxbAx

A

11

11

1

&&

&&&&

&&&&&&&&

&&&&&&

�����)(

1 )(0)()(

)()(

K

��

��

��

���

�����������

����������

bb

Axx

xAbAxb&&

)( Como K�����

Se o condicionamento da matriz for alto, pequenas perturbaçõesna 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

Condicionamento da matriz

� Para determinar o condionamento de uma matriz é necessário calculara norma da matriz inversa, que normalmente não é conhecida

� No exemplo anterior:

dacondiciona-mal Matriz 103.3)(

1671.2)8648.02969.1(

10513.110)2161.02969.1(

2969.12161.08648.01441.010

8

881

81

�!�����

!�!���

����

���

�!�

AAA

A

K

Page 23: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

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

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.

���

���

��

���

���

���

��

139

120

119

;

212.1411.6

71.1203.3

141.1203.3

bA

Exercício 1

Page 24: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

Modifique a rotina desenvolvida de forma a resolver o sistema linear Ax = b, onde

Observe que a solução exata do sistema é

Exercício 2

Page 25: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...
Page 26: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

MÉTODOS ITERATIVOS

Fornece uma sequência de soluções aproximadas que convergemquando o número de passos tende a infinito

Usado para matrizes esparsas e grandes Menor necessidade de memória de armazenamentoEliminação Gaussiana “enche” a matrizProblemas de convergência

xx

xxxx

����

$�

)(

)()2()1()0(

lim k

k

k�

Chute inicial

No Método de Jacobi, a sequência de aproximações é obtida por:

nia

bxa

xii

i

n

ijj

kjij

ki ,,2,1 para,

1

)(

)1( ��

��

���

MÉTODO DE JACOBI

O sistema de equações pode ser escrito como

nia

bxa

xbxaxa

nibxa

ii

i

n

ijj

jij

i

n

ijj

ijijiii

i

n

jjij

,,2,1 para,

,,2,1 para,

1

1

1

��

����

��

��

��

��

Page 27: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

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

nia

bxaxaxbxaxaxa

nibxa

ii

i

n

ijjij

i

jjij

ii

n

ijjijiii

i

jjij

i

n

jjij

,,2,1 para,

,,2,1 para,

1

1

1

1

1

1

1

���

�����

��

����

��

��

Para j<1, os novos valores de xj já foram calculados

No Método de Gauss-Seidel, a sequência de aproximações é obtida por:

nia

bxaxax

ii

i

n

ij

kjij

i

j

kjij

ki ,,2,1 para,1

)(1

1

)1(

)1( ��

���

���

��

EXEMPLO: Resolver Ax = b���

���

��

���

���

������

���

1021

;

411014011041

0114

bA

���

���

��

0000

:inicial Chute )0(x

����!�!��!��

��������

)2(2

)2(1

)1(4

)1(3

)1(2

)1(1

;375.04

125.0)0.0(0.0)1(5.0)1(

25.04

1;0.0

4

0;5.0

4

2;25.0

4

1

xx

xxxx

MÉTODO DE JACOBI

k X1(k) X2

(k) X3(k) X4

(k)

0 0.0 0.0 0.0 0.01 0.25 0.5 0.0 0.252 0.375 0.625 0.125 0.3753 0.4375 0.6875 0.1875 0.4375

8 0.49805 0.74793 0.24793 0.49805

Page 28: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

MÉTODO DE GAUSS-SEIDEL

40625.04

10625.0)1(5625.0)1(;0625.0

4

025.0)1(

;5625.04

225.0)1(;25.0

4

1

)1(4

)1(3

)1(2

)1(1

��!��!��

���!��

��!��

���

xx

xx

k X1(k) X2

(k) X3(k) X4

(k)

0 0.0 0.0 0.0 0.01 0.25 0.5625 0.0625 0.406252 0.40625 0.70312 0.20312 0.476563 0.47656 0.73828 0.23828 0.49854

5 0.49854 0.74927 0.24927 0.49963

De um modo geral, os dois métodos podem ser escritos como

Os diferentes métodos possuem diferentes formas para matriz B e o vetor c.

cxBx ��� )()1( kk

Uma matriz A pode ser decomposta na soma de três matrizes:

Diagonal + Triangular Superior + Triangular Inferior

)( UILDA ���

� O Método de Jacobi pode ser escrito como:

" # bDxULx 1)()1(1

)(

)1( ,,2,1 para, ����

� ������

��

�kk

ii

i

n

ijj

kjij

ki ni

a

bxa

x �

� O Método de Gauss-Seidel pode ser escrito como:

bDUxLxx 1)()1()1(

1

)(1

1

)1(

)1( ,,2,1 para,

���

��

����

��

���

���

kkkii

i

n

ij

kjij

i

j

kjij

ki ni

a

bxaxax �

" # ULIB 1����GS

" #ULB ���J

Page 29: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

ANÁLISE DE CONVERGÊNCIA

cxBx ��� )()1( kk

Se x é solução do sistema Ax = b : cxBx ��

O erro de cada aproximação x(k) é obtido pela subtração das equações

)()()( )0(1)1(2)()1( xxBxxBxxBxx �������� ��� kkkk �

Vamos supor que B tenha n autovetores linearmente independentes. Essesn vetores formam uma base do espaço vetorial. Qualquer vetor podeser escrito como uma combinação linear dos autovetores.

n

n

uuu ,,, :sAutovetore

,,, :sAutovalore

21

21

� '''

nknn

kkk

nnn

nn

nn

uuuxx

uuuxx

BuBuBuxxBxx

uuuxx

1

1

1

1

'�'�'�

'�'�'�

���

���

�����

������

��������

�����

22211)(

22211)1(

221)0()1(

221)0(

)(

O processo iterativo converge somente se somente se 1B %)((

� Raio Espectral de B: 1)(max)(1

%���

BB ini'(

Os autovalores de B não são conhecidos e esta condição não é facilmenteaplicada. Uma condição suficiente que pode ser aplicada é quepara o processo iterativo convergir: 1%B

A taxa de convergência é dada por " #)(log10 B(��R

Page 30: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

MÉTODO DE JACOBI

" #ULB ���J 0, ���� iiii

ijij bji

aa

b ���

���

n

ijj ii

ij

niJ a

a

11maxB

Se B for diagonal-dominante Converge Processo1 �%JB

MÉTODO DE GAUSS-SEIDEL

" # ULIB 1����GSxBy

xy

Bx GS

n

ijj

GS �� ��� $

$

�,max

10

dominante diagonalfor se converge Processo1

max

, onde,

1

1

11

1

1

11

AB

xyy

y

��

�����

�����

��$

���$$$

��

��$

��

���

i

iniGS

i

j ii

iji

n

ij ii

ijikkk

n

ijjkj

i

jjkj

n

jjkjkk

sr

a

as

a

arrsy

xbybxbyy

MÉTODO SOR (SUCCESSIVE OVERRELAXATION)

� Modificação do Método de Gauss-Seidel para melhorar a taxa de convergência

ii

i

n

ij

kjij

i

j

kjij

ki

ki

ki

ki

ii

kiii

ii

ik

iii

n

ij

kjij

i

j

kjij

ii

i

n

ij

kjij

i

j

kjij

ki

a

bxaxarrxx

axa

a

bxaxaxa

a

bxaxax

���

���

����

���

��

����

��

��

)(1

1

)1(

)()()()1(

)(

)(

1

)(1

1

)1(

1

)(1

1

)1(

)1(

onde,

)()()1( SOR ki

ki

ki rxx )��� � )*++Parâmetro de Relaxação

, -20

)1()( 1

%%

���� �

))))) UILIB

Page 31: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

Resolva o sistema linear Ax = b utilizando os métodos de Jacobi e Gauss-Seidel

Observe que a solução exata do sistema é

Exercício 3

Page 32: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

Solução de Sistema de Equações Não-Linear

Método de Picard:

1. Chute inicial;

2. Calcular coeficientes da matriz usando o valor atual das incógnitas;

3. Resolver o sistema de equações e determinar o novo valor dasincógnitas;

• Comparar solução atual com anterior;

• Se não covergiu, voltar para 2.

, -)0()0(3

)0(2

)0(1

)0( ,,,, Nuuuuc ��

" #)(kcAA �

" #" # fcAc kk 1)()1( �� �

Convergência Ruim

)(xAAbAx

��

Page 33: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

Método de Newton:

Generalização do Método de Newton para 1 equação não-linear

" # " # " # " #" # " # " #

" #" #xfxfx

xfxxfxxfxfxxfxxfxxf

.��

.�����..�.���

/

/////

0

2 �

PROCEDIMENTO ITERATIVO

)1(

)()1(

)(

)(

)(

)0(

:Raiz1

)(

)(do ,)( While

0 :inicial Chute

���

/��.

��/

��

i

ii

i

i

i

xii

xxxxfxf

x

xfi

x

0

���

���

���

0),,,,(

0),,,,(

0),,,,(

0),,,,(

321

3213

3212

3211

NN

N

N

N

xxxxf

xxxxfxxxxfxxxxf

�Sistema a ser resolvido:

Expansão por série de Taylor até termos de primeira ordem de cada equação:

NN

NNNNN

NNN

NN

N

NN

NN

N

NN

xxfx

xfx

xfxxxf

xxxxxxf

xxfx

xfx

xfxxxf

xxxxxxf

xxfx

xfx

xfxxxf

xxxxxxf

///

///

///

///

///

///

11

��11

�11

�����

11

��11

�11

�����11

��11

�11

�����

��

��

��

22

11

21

2211

22

2

21

1

2212

22112

12

2

11

1

1211

22111

),,,(

0),,,(

),,,(

0),,,(

),,,(

0),,,(

Page 34: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

NN

NNNNN

NN

N

NN

N

xxfx

xfx

xfxxxf

xxfx

xfx

xfxxxf

xxfx

xfx

xfxxxf

///

///

///

11

��11

�11

��

11

��11

�11

��

11

��11

�11

��

��

��

��

22

11

21

22

2

21

1

2212

12

2

11

1

1211

),,,(

),,,(

),,,(

fJx

f

ff

x

xx

xf

xf

xf

xf

xf

xf

xf

xf

xf

f

N

x

N

J

N

NNN

N

N

1

2

1

2

1

21

2

2

2

1

2

1

2

1

1

1

��

����

����

��

����

����

��������

��������

11

11

11

11

11

11

11

11

11

/

/

//

/

���

���� ����� ��

�Sistema emForma matricial

Matrix Jacobianaj

iij x

fJ11

PROCEDIMENTO ITERATIVO

" #

)1(

)()1(

1

)(

)0(

:Raiz

1

do , While

0

:inicial Chute

����

��

i

ii

i

cii

xcc

fJx

cf

ic

/

/

0

Solução de um sistema linear

Convergência Quadrática

Page 35: CÁLCULO DE RAIZ DE EQUAÇÃO - LMMP – PUC-Riolmmp.mec.puc-rio.br/eng1714/NotasAulaENG1714_2_MarcioCarvalho.pdf · x* é raiz da equação f(x) = 0 PROCEDIMENTO ITERATIVO () ...

Exemplo: Resolver o sistema abaixo pelo (a) método de Picard e(b) método de Newton

��

���

��

��

54

322

2

yxxyxy