Matemática Computacional 4) Equações e Sistemas Não Lineares Carlos Alberto Alonso Sanches Bissecção, Posição Falsa, Ponto Fio, Newton-Raphson, Secante Introdução Ponto Fio Introdução Ponto Fio
Raízes reais de funções Nas mais diversas áreas das ciências eatas, frequentemente ocorrem situações que envolvem a resolução de uma equação do tipo f() = 0 Muitas vezes, essas equações não são lineares. Por eemplo, a aplicação da lei de Kirchoff no cálculo da corrente elétrica em um circuito pode resultar em um polinômio de terceiro grau O objetivo deste capítulo é estudar métodos numéricos para a resolução de equações não lineares Em alguns casos (polinômios, por eemplo), as raízes podem ser reais ou compleas. Estamos principalmente interessados em encontrar as raízes reais: dada uma curva, queremos os pontos em que o eio é interceptado Esses métodos possuem duas fases: 1) Localização ou isolamento de uma raiz (encontrar um intervalo que a contenha) 2) Refinamento: dada uma aproimação inicial da raiz nesse intervalo, melhorá-la até se obter a precisão desejada Isolamento das raízes Nesta primeira fase, é feita uma análise teórica e gráfica da função f(), da qual depende fortemente o sucesso da fase seguinte De modo geral, é utilizado o seguinte teorema: considerando f() uma função contínua no intervalo [a,b], se f(a).f(b) < 0, então eiste pelo menos uma raiz = ξ entre a e b Graficamente: f() a ξ b f() a f() a ξ 1 ξ 2 ξ 3 b ξ 1 ξ 2 b Eemplo f() = 3 9 + 3 Outras situações Se f(a).f(b) > 0, então podemos ter várias situações: Vamos construir uma tabela de valores para f(), considerando apenas os sinais: f() f() f() - -100-10 -5-3 -1 0 1 2 3 4 5 f() - - - - + + + - - + + + a b a ξ ξ b 1 2 a ξ 1 b Sabendo que f() é contínua para qualquer real, e observando as variações de sinal, podemos concluir que eistem raízes nos seguintes intervalos: [-5, -3] [0, 1] [2, 3] Como f() é um polinômio de grau 3, localizamos todas as suas raízes Será preciso realizar uma análise gráfica de f(). Basta seguir um dos seguintes procedimentos: Esboçar o gráfico de f() e localizar as raízes A partir da equação f() = 0, obter uma equação equivalente g() = h(), esboçar seus gráficos e localizar os pontos em que se encontram Utilizar programas que traçam gráficos de funções
Introdução Ponto Fio Raízes reais de um polinômio Regra de Descartes: O número de raízes reais positivas de um polinômio p() com coeficientes reais nunca é maior que o número de trocas de sinal na sequência de seus coeficientes não nulos Se for menor, então será sempre por um número par Como as raízes negativas de p() são as positivas de p(-), também é possível utilizar essa mesma regra na enumeração das raízes reais negativas Eemplo Outro eemplo p() = 3 + 2 2-3 - 5 + + - - Uma troca de sinal: p() tem 1 raiz positiva p() = 4-3 + 2 - + 1 + - + - + Quatro trocas de sinal: p() pode ter 4, 2 ou 0 raízes positivas p(-) = - 3 + 2 2 + 3-5 - + + - Duas trocas de sinal: p() pode ter 2 ou 0 raízes negativas p(-) = 4 + 3 + 2 + + 1 + + + + + Nenhuma troca de sinal: p() não tem raízes negativas Se p() tiver 2 raízes negativas, não terá raízes compleas; caso contrário, terá 2 raízes compleas Possibilidades: Raízes Positivas Negativas Compleas 1 2 0 1 0 2 sempre aos pares Possibilidades: Raízes Positivas Negativas Compleas 4 0 0 2 0 2 0 0 4
Raízes compleas de um polinômio Seja o polinômio de grau n: p() = a 0 n + a 1 n-1 +... + a n-1 + a n Regra de Huat: Se para algum k, 1 k < n, tivermos (a k ) 2 a k-1.a k+1, então p() terá raízes compleas Regra da Lacuna: Se os coeficientes de p() forem todos reais e para algum k, 1 k < n, tivermos a k = 0 e a k-1.a k+1 > 0, então p() terá raízes compleas Se os coeficientes forem todos reais e eistirem dois ou mais coeficientes nulos sucessivos, então p() terá raízes compleas Eemplo p() = 2 5 + 3 4 + 3 + 2 2-5 + 3 + + + + - + p(-) = -2 5 + 3 4-3 + 2 2 + 5 + 3 - + - + + + Regra de Huat: (a 2 ) 2 a 1.a 3, pois 1 < 3.2 Portanto, p() tem raízes compleas Possibilidades: Raízes Positivas Negativas Compleas 2 1 2 0 3 2 0 1 4 2 ou 0 positivas 3 ou 1 negativas Outro eemplo p() = 2 6-3 5-2 3 + 2 - + 1 + - - + - + p(-) = 2 6 + 3 5 + 2 3 + 2 + + 1 + + + + + + Possibilidades: Raízes Positivas Negativas Compleas 4 0 2 2 0 4 0 0 6 4, 2 ou 0 positivas não tem negativas Regra da Lacuna: a 2 = 0 e a 1.a 3 > 0, pois (-3).(-2) > 0 Portanto, p() tem raízes compleas Introdução Ponto Fio
Localização de raízes Localizar as raízes reais de um polinômio p() é determinar um intervalo que as contenha Eemplos: a b Localizar as raízes compleas é determinar os raios interno e eterno de anéis que as contenham Eemplo: a b Em ambos os casos, a e b são chamados respectivamente de cota inferior e superior a b Localização de raízes reais Teorema de Laguerre: Dado o polinômio p() de coeficientes reais e dado um número α, obtemos p() = q().( α) + R. Se os coeficientes de q() e R forem todos positivos ou nulos, então todas as raízes reais são menores que α Cota de Laguerre-Thibault: Dado o polinômio p() de coeficientes reais, calcule a divisão de p() por -1, -2, -3,..., -m, até que o quociente q() tenha todos os coeficientes positivos ou nulos, e resto R > 0. Esse m > 0 é uma cota superior das raízes reais de p(). Uma cota inferior n < 0 pode ser calculada de modo semelhante, multiplicando-se p(-) por -1 e seguindo o mesmo procedimento Eemplo p() = 5 + 4-9 3-2 + 20-12 1 1-9 -1 20-12 1 1 2-7 -8 12 1 2-7 -8 12 0 1 1-9 -1 20-12 2 2 6-6 -14 12 1 3-3 -7 6 0 1 1-9 -1 20-12 3 3 12 9 24 132 1 4 3 8 44 120 3 é uma cota superior de p() Eemplo (continuação) p(-) = - 5 + 4 + 9 3-2 - 20-12 1-1 -9 1 20 12 1 1 0-9 -8 12 1 0-9 -8 12 24 1-1 -9 1 20 12 2 2 2-14 -26-12 1 1-7 -13-6 0 1-1 -9 1 20 12 3 3 6-9 -24-12 1 2-3 -8-4 0 1-1 -9 1 20 12 4 4 12 12 52 288 1 3 3 13 72 300-4 é uma cota inferior de p() Todas as raízes de p() pertencem a [-4, 3]
Localização de raízes compleas Cota de Kojima: Dado o polinômio p() = a 0 n + a 1 n-1 +... + a n-1 + a n, toda raiz α, real ou complea, está em um anel de raio eterno R = q 1 + q 2, onde q 1 e q 2 são os maiores valores de a i /a 0 1/i, para 1 i n Considerando o polinômio p(1/), o raio interno r é calculado de modo semelhante: r = 1/(q 1 + q 2 ) Eemplo p() = 5 + 4-9 3-2 + 20-12 a 0 = 1, a 1 = 1, a 2 = -9, a 3 = -1, a 4 = 20, a 5 = -12 Valores: { 1 1 ; 9 1/2 ; 1 1/3 ; 20 1/4 ; 12 1/5 } = {1; 3; 1; 2,115; 1,644} q 1 = 3 e q 2 = 2,115 R = 5,115 Toda raiz α satisfaz α < 5,115 As raízes de p(1/) são as mesmas do polinômio -12 5 + 20 4-3 - 9 2 + + 1 Valores: {(20/12) 1 ; (1/12) 1/2 ; (9/12) 1/3 ; (1/12) 1/4 ; (1/12) 1/5 } = {1,667; 0,289; 0,909; 0,537; 0,608} q 1 = 1,667 e q 2 = 0,909 r = 0,388 Toda raiz α satisfaz α > 0,388 Separação de raízes reais Separar raízes de um polinômio é encontrar uma sequência de subintervalos distintos, tais que cada um contenha eatamente uma raiz real, e cada raiz real esteja contida em um desses subintervalos Teorema de Budan: Seja p (k) (c) o valor da k-ésima derivada do polinômio p() calculada para = c. Seja V c o número de variações de sinal na sequência p(c), p (c), p (c),..., p (n) (c), onde n é o grau de p(). Então, o número de raízes de p() no intervalo (a,b) é igual ou menor que V a - V b. Se for menor, será por um número par Importante: este teorema não dá informações sobre a multiplicidade das raízes, ou seja, uma mesma raiz pode ser contada várias vezes... Eemplo p() = 3-2 2 - + 2 Pela regra de Descartes, como há duas variações de sinal, p() tem 2 ou 0 raízes positivas Derivadas de p(): p () = 3 2-4 1; p () = 6 4; p () = 6 Por Laguerre-Thibault, sabe-se que a cota superior é 3. Portanto, tomemos (a,b) = (0;3): p(0)=2; p (0)=-1; p (0)=-4; p (0)=6 p(3)=8; p (3)=10; p (3)=14; p (3)=6 V 0 =2 e V 3 =0: há 2 ou 0 raízes em (0;3) Dividindo-se o intervalo em (0;3/2) e (3/2;3), é possível verificar que V 3/2 =1: podemos concluir que há uma raiz em cada um desses subintervalos
Outro eemplo p() = 3-9 2 + 20 + 1 Pela regra de Descartes, p() tem 2 ou 0 raízes positivas e 1 raiz negativa Por Laguerre-Thibault, sabe-se que a cota superior é 9, e a inferior é -1 Análise gráfica: P() -1-29 0 1 1 13 2 13 3 7 4 1 5 1 6 13 7 43 De fato, é fácil comprovar que há uma raiz negativa em [-1;0] A tabela parece indicar que não há raízes positivas... No entanto, p(4,5) = -0,125, ou seja, há uma raiz em [4;4,5] e outra em [4,5;5] É preciso ter muito cuidado com as análises gráficas... Introdução Ponto Fio Métodos iterativos Critérios rios de parada Através da separação de raízes Específico de cada método Veremos a seguir Na resolução de equações não lineares, qualquer método iterativo possui 4 partes: Estimativa inicial: uma aproimação para a raiz Atualização: uma fórmula que recalcula a solução Critério de parada: uma condição de término para o processo iterativo Avaliador de eatidão: associado ao critério de parada, provê uma estimativa do erro cometido Na resolução de f() através de um processo iterativo, sejam: i a solução obtida no passo i; ε 1 e ε 2 valores de tolerância estabelecidos; k o número de dígitos significativos eatos requeridos na aproimação final; L o número máimo permitido de iterações. Portanto, pode-se interromper esse processo de quatro maneiras: i i-1 / i < ε 1 f( i ) < ε 2 DIGSE ( i ) k i > L
Introdução Ponto Fio Método da Bissecção Seja [a,b] um intervalo que contenha uma raiz de f(), onde f(a).f(b) < 0 Algoritmo: Calcula-se o ponto médio do intervalo: m = (a+b)/2 Se f( m ) 0, escolhe-se o subintervalo de [a,b] em que f tenha sinais opostos nas etremidades: f(a).f( m ) < 0 ou f( m ).f(b) < 0 Repete-se o processo até que algum critério de parada seja satisfeito Bissecção: análise gráfica Eemplo f() f() p() = 3-5 2 + 17 + 21 a = a 0 1 1 = (a + b)/2 b = b 0 f() 2 = (a + 1 )/2 a = a 1 2 1 = b 1 3 = ( 2 + 1 )/2 Enumeração: pela regra de Descartes, p() tem 2 ou 0 raízes positivas e 1 raiz negativa Localização: por Laguerre-Thibault, sabe-se que a cota superior é 5 e a inferior é -1 Separação: Percebe-se que há apenas uma raiz negativa em p() [-1;0] -1-2 Aplicação do Método da Bissecção: 0 21 i a b m f( m ) 3 2 = a 2 1 = b 2 1 34 2 43 1-1,0 0,0-0,5 11,125 2-1,0-0,5-0,75 5,015625 3-1,0-0,75-0,875 1,626953120 3 54 4-1,0-0,875-0,9375-0,156005860 5-0,9375-0,875-0,90625 0,743011480 4 73 6-0,9375-0,90625-0,921875 0,296398710 7 0,9375-0,921875-0,9296875 0,070171830...............
Estimativa do número n de iterações Dada uma precisão ε e um intervalo inicial [a 0,b 0 ], é possível calcular o número i de iterações do Método da Bissecção até que se tenha b i - a i < ε: b i a i = (b i-1 a i-1 )/2 = (b 0 a 0 )/2 i Deseja-se que b i - a i < ε: b i - a i < ε (b 0 a 0 )/2 i < ε b i - a i < ε 2 i > (b 0 a 0 )/ε b i - a i < ε i > (log(b 0 a 0 ) log ε)/log 2 O número de iterações tende a ser grande devido a este valor Se essa condição for satisfeita, então no final do passo i teremos um intervalo [a i,b i ] que contém a raiz ξ tal que [a i,b i ] -ξ b i - a i < ε Bissecção: análise geral Vantagens: Se a função f() for contínua no intervalo inicial [a,b], o método da bissecção gera uma sequência convergente Facilidade de implementação, pois as iterações envolvem cálculos simples Desvantagens: A convergência é lenta Eige o conhecimento prévio da região onde se encontra a raiz A etensão desse método para problemas multivariáveis é complea Introdução Ponto Fio Método da Posição Falsa Dado o intervalo [a,b], vimos que o Método da Bissecção encontra um novo intervalo através de uma média aritmética entre a e b: m = (a + b)/2 Por outro lado, o Método da Posição Falsa calcula uma média ponderada entre a e b com pesos f(b) e f(a), respectivamente: m = (a. f(b) + b. f(a) )/( f(b) + f(a) ) Como f(a) e f(b) têm sinais opostos, é equivalente a m = (a.f(b) - b.f(a))/(f(b) - f(a))
Posição Falsa: análise gráfica f() f(b) f(a) a m m = (a.f(b) b.f(a))/(f(b) - f(a)) m é a intersecção do eio com a reta que passa por (a,f(a)) e (b,f(b)) Equação da reta: ( a)/(f() - f(a)) = (b - a)/(f(b) - f(a)) No eio : = m e f( m ) = 0 m - a = -f(a).(b - a)/(f(b) - f(a)) m - a = (a.f(a) b.f(a))/(f(b) - f(a)) m = (a.f(b) a.f(a) + a.f(a) b.f(a))/(f(b) - f(a)) m = (a.f(b) b.f(a))/(f(b) - f(a)) b Eemplo f() =.log 1 [a 0,b 0 ] = [2;3] f(a 0 ) = -0,3979 < 0 f(b 0 ) = 0,4314 > 0 0 = (a 0.f(b 0 ) b 0.f(a 0 ))/(f(b 0 ) - f(a 0 )) = 2,4798 f( 0 ) = -0,0219 < 0 Como f(a 0 ) e f( 0 ) têm mesmo sinal, a 1 = 0 e b 1 = b 0 1 = (a 1.f(b 1 ) b 1.f(a 1 ))/(f(b 1 ) - f(a 1 )) = 2,5049 f( 1 ) = -0,0011 < 0 Como f(a 1 ) e f( 1 ) têm mesmo sinal, a 2 = 1 e b 2 = b 1 E assim por diante, até que o critério de parada seja satisfeito Posição Falsa: análise geral De modo geral, suas vantagens e desvantagens são análogas às do Método da Bissecção Se a função for côncava ou convea em [a,b], então umas das etremidades permanecerá fia Eemplo: f() f(b) f(a) a i i+1 b Cuidado com o critério de parada: neste caso, o intervalo [a i,b i ] nunca ficará suficientemente pequeno, pois b i permanece constante... É possível modificar o método, prevendo casos como este Introdução Ponto Fio
Método do Ponto Fio Seja uma função f() contínua e não linear em [a,b], onde está uma única raiz ξ O Método do Ponto Fio consiste em: Transformar a equação f() = 0 na equivalente = g(), de tal modo que f(ξ) = 0 g(ξ) = ξ A partir de 0 [a,b], gerar a sequência { i } de aproimações para ξ pela relação i+1 = g( i ) O problema de se encontrar a raiz em f() foi transformado no problema de se encontrar o ponto fio de g() g() é chamada de função de iteração Eemplo f() = 2 + 6 Possíveis funções de iteração para f(): g 1 () = 6 2 g 2 () = ±(6 ) 1/2 g 3 () = (6/) 1 g 4 () = 6/(+1) Algumas situações possíveis Convergência y 2 1 y = 0 g() Converge! g() y 1 3 2 y = Converge! 0 Teorema: Seja ξ uma raiz de f() aproimadamente centrada no intervalo I, e g() uma função de iteração. A sequência { i } gerada pelo processo iterativo i+1 = g( i ) convergirá para ξ se: g() e g () são contínuas em I y g() y = Não converge! y g() y = Não converge! 0 I g () M < 1, I, onde 0 < M < 1 0 1 2 3 1 0 2
Demonstração 1ª parte: Se 0 I, então i I, i 0 f(ξ) = 0 ξ = g(ξ) Para i 0, i+1 = g( i ) i+1 - ξ = g( i ) - g(ξ) Como g() é contínua e diferenciável em I, pelo Teorema do Valor Médio, se i I então eiste c i entre i e ξ tal que g (c i ).( i ξ) = g( i ) - g(ξ) i+1 - ξ = g (c i ).( i ξ), i 0 i+1 ξ = g (c i ). i ξ < i ξ, i 0, pois g (c i ) < 1 Como I está aproimadamente centrado em ξ, se i I então i+1 I, i 0 Demonstração 2ª parte: lim i i = ξ 1 ξ = g (c 0 ). 0 ξ M. 0 ξ 2 ξ = g (c 1 ). 1 ξ M 2. 0 ξ Generalizando: i ξ = g (c i-1 ). i-1 ξ M i. 0 ξ, i>0 Como 0<M<1, 0 lim i i ξ M i. 0 ξ = 0 Portanto, lim i i ξ = 0 lim i i = ξ c 0 está entre 0 e ξ c 1 está entre 1 e ξ c i-1 está entre i e ξ Voltando ao eemplo anterior Sabemos que as raízes de f() = 2 + 6 são ξ 1 = -3 e ξ 2 = 2 Consideremos g 1 () = 6-2 e 0 = 1,5: 1 = g( 0 ) = 6 1,5 2 = 3,75 2 = g( 1 ) = 6 3,75 2 = -8,0625 3 = g( 2 ) = 6 (-8,0625) 2 = -59,003906 4 = g( 3 ) = 6 (-59,003906) 2 = -3475,4609 A sequência { i } diverge... g 1 () = 6-2 g 1 () = -2 y y = g 1 () e g 1 () são contínuas em R g 1 () < 1-2 < 1 2 0 1 -½ < < ½ O intervalo I = [-½,½] não satisfaz o teorema, pois não g() contém as raízes, nem 0... Ainda o mesmo eemplo Consideremos agora g 2 () = (6 ) 1/2 e 0 = 1,5: 1 = g( 0 ) = (6 1,5) 1/2 = 2,12132 2 = g( 1 ) = (6 2,12132) 1/2 = 1,96944 3 = g( 2 ) = (6 1,96944) 1/2 = 2,00763 4 = g( 3 ) = (6 2,00763) 1/2 = 2,00048 A sequência { i } está convergindo para ξ 2 = 2 g() y 0 2 1 y = g 2 () = (6 ) 1/2 g 2 () = -1/(2(6-) 1/2 ) g 2 () é contínua em R para 6 g 2 () é contínua em R para < 6 g 2 () < 1 1/(2(6-) 1/2 ) < 1 < 5,75 O intervalo I = [1,5;2,5] satisfaz as condições do teorema
Outro eemplo Seja f() = 2-2, com ξ 1 = -1 e ξ 2 = 2 Sejam duas funções de iteração: g 1 () = 2 2 g 2 () = (2+) 1/2 g 1 () = 2: g 1 () < 1 -½ < < ½ O intervalo I = [-½,½] não satisfaz o teorema g 2 () = 1/(2(2+) 1/2 ): g 2 () < 1 > -7/4 O intervalo I = [0;3], por eemplo, satisfaz o teorema Consideremos g 2 () = (2+) 1/2, 0 = 0: 1 = g( 0 ) = (2+ 0 ) 1/2 = 1,41421 2 = g( 1 ) = (2+ 1 ) 1/2 = 1,84775 3 = g( 2 ) = (2+ 2 ) 1/2 = 1,96157 4 = g( 3 ) = (2+ 3 ) 1/2 = 1,98036 A sequência está convergindo para ξ 2 = 2 Ordem da convergência Seja { i } uma sequência que converge para a raiz ξ e seja e i = i ξ o erro na iteração i, i 0 Se eistir um número p>1 e uma constante C>0 tais que lim i e i+1 / e i p = C, então p é a ordem de convergência dessa sequência, e C é a constante assintótica de erro Quanto maior o valor de p, maior a rapidez de convergência do método iterativo No Método do Ponto Fio, pode-se demonstrar que lim i e i+1 /e i = g (ξ) Neste caso, p=1, ou seja, a ordem de convergência é linear Demonstração Na demonstração do teorema da convergência, vimos que i+1 - ξ = g (c i ).( i ξ), i 0, onde c i está entre i e ξ Portanto, ( i+1 ξ)/( i ξ) = g (c i ) Tomando o limite quando i : lim i ( i+1 ξ)/( i ξ) = lim i g (c i ) = g (lim i c i ) = g (ξ) Logo, lim i e i+1 /e i = g (ξ) = C. Além disso, C <1, pois g () satisfaz as hipóteses do teorema da convergência Neste caso, a convergência será mais rápida quanto menor for g (ξ) Ponto Fio: análise geral Vantagens: Convergência rápida Desvantagens: Obtenção de uma função de iteração Determinação de um intervalo inicial válido Difícil implementação A importância deste método está mais no estudo dos seus conceitos que em sua eficiência computacional
Introdução Ponto Fio Método de Newton-Raphson Dada uma função f() contínua no intervalo [a,b] que contém uma única raiz, e um ponto inicial 0, é possível encontrar uma aproimação para essa raiz a partir da intersecção da reta tangente à curva em 0 com o eio das abscissas O ponto inicial 0 é escolhido em função da geometria do método e do comportamento da curva nas proimidades da raiz Cálculo das aproimações: i+1 = i - f( i )/f ( i ) Newton-Raphson: análise gráfica f() 0 3 2 1 4 a iteração 3 a iteração 2 a iteração 1 a iteração Seja o ponto ( i, f( i )) Traça-se a reta L i+1 () tangente à curva nesse ponto: L i+1 () = f( i ) + f ( i )( i+1 - i ) No cruzamento com o eio, L i+1 () = 0: 0 = f( i ) + f ( i )( i+1 - i ) Portanto, i+1 = i - f( i )/f ( i ) Caso particular do Ponto Fio O Método de Newton-Raphson pode ser entendido como um caso particular do Método do Ponto Fio, onde g() = - f()/f () Calculando a derivada de g(): g () = 1 (f () 2 f().f ())/f () 2 Na raiz ξ, sabemos que f(ξ) = 0. Desde que f (ξ) 0, então g (ξ) = 1 - f (ξ) 2 /f (ξ) 2 = 0 Como g (ξ) = 0, graças ao teorema da convergência do Método do Ponto Fio, o Método de Newton-Raphson converge com rapidez máima para a raiz
Convergência Teorema: Seja f(), f () e f () contínuas em um intervalo I que contém uma raiz ξ de f(). Supondo f (ξ) 0, eiste um intervalo Ī I contendo essa raiz tal que, se 0 Ī, a sequência { i } gerada por i+1 = i - f( i )/f ( i ) converge para ela Demonstração: basta verificar que são satisfeitas as hipóteses do teorema da convergência do Método do Ponto Fio Em outras palavras, o Método de Newton-Raphson converge desde que a aproimação inicial seja suficientemente próima da raiz Sua convergência é de ordem quadrática: lim i e i+1 /e i2 = C 0 Demonstração i+1 = i - f( i )/f ( i ) i+1 - ξ = i ξ - f( i )/f ( i ) e i+1 = e i - f( i )/f ( i ) Desenvolvimento de Taylor em torno de i : f() = f( i ) + f ( i ).(- i ) + f (c i ).(- i ) 2 /2, onde c i está entre e i 0 = f(ξ) = f( i ) - f ( i ).( i -ξ) + f (c i ).( i -ξ) 2 /2 f( i ) = f ( i ).e i - f (c i ).e i2 /2 f( i )/f ( i ) = e i - f (c i ).e i2 /2f ( i ) f (c i ).e i2 /2f ( i ) = e i+1 e i+1 /e i2 = f (c i )/2f ( i ) lim i e i+1 /e i2 = lim i f (c i )/2f ( i ) = f (ξ)/2f (ξ) lim i e i+1 /e i2 = g (ξ)/2 lim i e i+1 /e i2 = C Conferir através do desenvolvimento de g () Eemplo Casos de loop infinito f() = 3-5 2 + 17 + 21 f() f() f () = 3 2-10 + 17 1 = 3 0 = -1,0 1 = 0 - f( 0 )/f ( 0 ) = -1,0 + 2/30 = -0,9333333333 2 = 1 - f( 1 )/f ( 1 ) = -0,9321152567 3 = 2 - f( 2 )/f ( 2 ) = -0,9321148567 4 = 3 - f( 3 )/f ( 3 ) = -0,9321148567 0 = 2 0 = 2 1 = 3
Newton-Raphson: análise geral Vantagens: Convergência rápida Desvantagens: Dificuldade para se encontrar uma aproimação inicial adequada Necessidade da obtenção de f (), que nem sempre é possível Risco de loop infinito O Método da Bissecção poderia ser utilizado para se obter uma aproimação inicial Introdução Ponto Fio Método da Secante Para se evitar o cálculo de derivadas, podemos usar um modelo linear baseado nos valores mais recentes de f() Partindo de duas aproimações i-1 e i, calculamos a reta que passa por ( i-1,f( i-1 )) e ( i,f( i )). A intersecção desta reta com o eio determina a aproimação i+1, e o processo continua a partir de i e i+1 Cálculo das aproimações: i+1 = i ( i i-1 ).f( i )/(f( i ) - f( i-1 )) Secante: análise gráfica f() 4 0 3 1 2 5 4 a iteração 3 a iteração 2 a iteração 1 a iteração Sejam os pontos ( i-1,f( i-1 )) e ( i,f( i )) Traça-se a reta L i+1 () que passa por ambos: L i+1 () = f( i ) + ( i+1 - i ).(f( i ) - f( i-1 )/( i i-1 ) No cruzamento com o eio, L i+1 () = 0: 0 = f( i ) + ( i+1 - i ).(f( i ) - f( i-1 )/( i i-1 ) Portanto, i+1 = i ( i i-1 ).f( i )/(f( i ) - f( i-1 ))
Eemplo f() = 2 + - 6 ξ = 2; 0 = 1,5; 1 = 1,7 2 = 1 ( 1 0 ).f( 1 )/(f( 1 ) - f( 0 )) 2 = 1,7 (1,7-1,5).(-1,41)/(-1,41+2,25) = 2,03571 3 = 1,99774 4 = 1,99999 Convergência Como o Método da Secante é uma aproimação do Método de Newton-Raphson, as condições para convergência são praticamente as mesmas Dahquiste Bjorck demonstrou que, no Método da Secante, lim i e i+1 /e ip = C 0, onde p = ½(1+5 1/2 ) 1,618 Portanto, esse método é um pouco mais lento que o Método de Newton-Raphson Além disso, é importante frisar que pode divergir se f( i ) f( i-1 ) Secante: análise geral Vantagens: Convergência quase tão rápida quanto Newton- Raphson Cálculos mais simples Desvantagens: Dificuldade para se encontrar as aproimações iniciais Pode divergir se a curva for quase paralela ao eio das abscissas O Método da Bissecção também poderia ser utilizado para se obter as aproimações iniciais Introdução Ponto Fio
Uma comparação Dados iniciais Função Raiz Critério de parada f() = e -. cos ξ (1;2) f( i ) < 10-4 ou i i-1 < 10-4 Bissecção Posição Falsa Ponto Fio g() = cos e -. + Newton- Raphson Secante [1;2] [1;2] 0 = 1,5 0 = 1,5 0 = 1; 1 = 2 i 1,44741821 1,44735707 1,44752471 1,44741635 1,44741345 f( i ) 2,1921.10-5 -3,6387.10-5 7,0258.10-5 1,3205.10-6 -5,2395.10-7 Erro em i 6,1035.10-5 5,5288.10-1 1,9319.10-4 1,7072.10-3 1,8553.10-4 i (iterações) 14 6 6 2 5 Considerações finais Critérios de comparação entre os métodos: garantia e rapidez de convergência e esforço computacional Convergência: e Posição Falsa: basta que a função seja contínua no intervalo [a,b] e que f(a).f(b) < 0 Ponto Fio, Newton-Raphson e Secante: condições mais restritivas, mas maior rapidez Quando não for difícil verificar as condições de convergência, convém usar o Método de Newton-Raphson; se o cálculo de f () for muito complicado, tentar o Método da Secante Introdução Ponto Fio Sistemas de equações não lineares Dada uma função não linear F: D R n R n, F = (f 1,..., f n ) T, o objetivo é encontrar as soluções de F() = 0 Equivalentemente: f 1 ( 1, 2,..., n ) = 0 f 2 ( 1, 2,..., n ) = 0... f n ( 1, 2,..., n ) = 0 onde f i () é uma função não linear, 1 i n
Eemplos f 1 ( 1, 2 ) = 12 + 22 2 = 0 f 2 ( 1, 2 ) = 12-22 /9 1 = 0 2 4 soluções 1 f 1 ( 1, 2 ) = 12 + 2 0,2 = 0 f 2 ( 1, 2 ) = 22 1 + 1 = 0 2 1 Não há soluções Matriz Jacobiana O vetor das derivadas parciais da função f i ( 1,..., n ), para 1 i n, é denominadovetor gradiente de f i e será denotado por f i (): f() i f() i f() i fi () =,, L, 1 2 n A matriz J() das derivadas parciais de F() é chamada de Matriz Jacobiana : f() 1 f2 () J() = M f n() T T T f() 1 1 f2 () = 1 M f n() 1 f() 1 2 f2 () 2 M f n() 2 L L O L T f 1() n f2 () n M f n() n Método de Newton Eemplo A resolução de sistemas de equações não lineares mais estudada e conhecida é o Método de Newton Analogamente ao caso de uma única equação, dada a aproimação (k) D, para qualquer D eiste c i D tal que f i () = f i ( (k) ) + f i (c i ) T.( (k) ), onde 1 i n Aproimando f i (c i ) por f i ( (k) ), 1 i n, temos um modelo local para f i () em torno de (k) : f i () f i ( (k) ) + f i ( (k) ) T.( (k) ), onde 1 i n Consequentemente: F() L k () = F( (k) ) + J( (k) ).( (k) ) L k () = 0 J( (k) ).( (k) ) = -F( (k) ) Chamando s (k) = (k), temos que (k+1) = (k) + s (k), onde s (k) é solução do sistema linear J( (k) ).s = -F( (k) ) 1 + () = 2 1 + 2 F 2 2 1ª iteração: (0) 3 F( ) = 17 2ª iteração: (1) 0 F( ) = 4,53125 3 9 (0) 1 J( ) = 2 (1) 1 J( ) = 1,25 Soluções: * = [3 0] T e ** = [0 3] T J() 1 10 1 7,25 1 = 2 1 1 2 2 1 2 (1) (0) 1 1,625 0,625 = + s = + = 5 1,375 3,625 (2) (1) 0,625 0,533 0,092 = + s = + = 3,625 0,533 3,0917 (0) 1 = 5 1 3 1,625 s = s = 10 17 1,375 1 1 0 0,533 s = s = 1,25 7,25 4,53125 0, 533
Método de Newton Modificado Sob condições adequadas envolvendo o ponto inicial (0), a função F() e a matriz Jacobiana J(), a sequência { (k) } gerada pelo Método de Newton converge para a raiz com taa quadrática No entanto, cada iteração eige a resolução do sistema J( (k) ).s = -F( (k) ), o que compromete seu desempenho Uma possível modificação é utilizar a matriz J( (0) ) em todas as iterações: desse modo, a sequência { (k) } será gerada através de (k+1) = (k) + s (k), onde s (k) é solução do sistema linear J( (0) ).s = -F( (k) ) A decomposição LU da matriz J( (0) ) melhora o desempenho deste novo algoritmo, que é chamado Método de Newton Modificado. No entanto, sua taa de convergência passa a ser linear Mesmo eemplo 1 + () = 2 1 + 2 F 2 2 1ª iteração: (0) 3 F( ) = 17 2ª iteração: (1) 0 F( ) = 4,53125 3 9 (0) 1 J( ) = 2 1 2 Soluções: * = [3 0] T e ** = [0 3] T J() 1 10 1 = 2 1 1 2 2 1 2 (1) (0) 1 1,625 0,625 = + s = + = 5 1,375 3,625 (0) 1 = 5 1 3 1,625 s = s = 10 17 1,375 1 0 0,56640625 s = s = 10 4,53125 0,56640625 (2) (1) 0,625 0,56640625 0,05859375 = + s = + = 3,625 0,56640625 3,05859375