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 x2 e x3 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 ex 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) i0 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 ) xn1 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