Análise Numérica 1 Resolução de equações não lineares ou Cálculo de zeros de funções Problema: Dada a função f(x) determinar o valor s tal que f(s) = 0. Slide 1 Solução: Fórmulas exemplo: fórmula resolvente para equações do 2 0 grau. Existem para muito poucos casos. Métodos iterativos dão-nos uma valor aproximado para s. Sequência de valores de x que convergem para s. Slide 2 x 0 valor inicial f(x 0 ) 0 x 1 1 a iteração f(x 1 ) 0 x 2 2 a iteração f(x 2 ) 0. x n iteração n f(x n ) 0 Isto é: x 0, x 1, x 2,..., x n,... s x n diz-se uma solução (aproximada) da equação Para cada método iterativo de resolução de equações não lineares à que considerar: 1. Se x 0, x 1,..., x n é convergente para s, ou pelo menos sob que condições o é. 2. A rapidez com que tal convergência ocorre.
Análise Numérica 2 Método das bissecções sucessivas Slide 3 Partindo de um intervalo inicial [a, b], que deverá forçosamente conter a raiz que se pretende determinar, vai-se sucessivamente dividindo o intervalo a meio, garantindo que a raiz se mantém dentro do intervalo. Para que a raiz esteja no intervalo [a, b]: f(a)f(b) < 0. Para que a raiz se mantenha dentro dos sucessivos sub-intervalos: x 1 substitui a ou b conforme f(x 1 )f(b) < 0 ou f(a)f(x 1 ) < 0. Erro ao fim da iteração k Slide 4 x 1 = a+b ε 2 1 < b a 2 x 2 = x 1+b ε 2 2 < b a 2 2. x k = x k 1+x i 2, i k 2 ε k < b a 2 k Então, quantas iterações se devem fazer para se ter um erro menor que δ?. ε n < b a 2 n < δ 2 n > b a δ n > log 2 b a δ
Análise Numérica 3 Exemplo Encontre um valor aproximado a menos do que 5 10 3 da raiz s da equação x ln x 1 = 0 sabendo que s ]1, e[. Resolução Slide 5 1. Verificação das condições de convergência no intervalo dado 2. Cálculo do número de iterações f(1) < 0 f(e) > 0 Neste problema pretende-se uma precisão δ = 5 10 3 e b a = e 1. Então: ε < δ b a b a < δ k > log 2 k 2 δ k > 8.4 Portanto, quando utilizamos o intervalo [1, e] a convergência está garantida e para satisfazer a precisão exigida é suficiente realizar 9 iterações. Para 9 iterações o erro máximo obtido será de e 1 2 9 4 10 3. k a k f(a k ) b k f(b k ) x k+1 0 1-1 e 1.718 1.859 1 1-1 1.859 0.153 1.430 2 1.430-0.489 1.859 0.153 1.644 Slide 6 3. Iterações Solução: 3 1.644-0.182 1.859 0.153 1.752 4 1.752-0.018 1.859 0.153 1.805 5 1.752-0.018 1.805 0.066 1.778 6 1.752-0.018 1.778 0.024 1.765 7 1.752-0.018 1.765 0.003 1.758 8 1.758-0.007 1.765 0.003 1.762 x = 1.762 ± 4 10 3 }{{} x [1.758, 1.766] Esta representação não significa que todos estes dígitos são significativos.
Análise Numérica 4 Síntese Seja f C[a, b] e tal que f(a).f(b) < 0. Então a sucessão {x k } determinada pelo método das bissecções sucessivas (x k+1 = b k+a k 2 ) converge para um zero de f neste intervalo, e o erro após k iterações satisfaz a seguinte relação: Slide 7 ε k < b a 2 k Método da falsa posição ou regula falsi Slide 8 Partindo de um intervalo [a, b], contendo a raiz que se pretende determinar, um dos extremos do intervalo é substituído pela intersecção do segmento de recta que une os pontos extremos do intervalo com o eixo dos xx. Equação da recta AB: y f(a 0 ) = f(b 0) f(a 0 ) b 0 a 0 (x a 0 ) y = f(b 0) f(a 0 ) b 0 a 0 (x a 0 ) + f(a 0 )
Análise Numérica 5 A intersecção com o eixo dos xx é dada por y = 0: x a 0 = f(a 0)(b 0 a 0 ) f(b 0 ) f(a 0 ) Slide 9 No caso geral virá: (b 0 a 0 ) x = a 0 f(a 0 ) f(b 0 ) f(a 0 ) x k+1 = a kf(b k ) b k f(a k ) f(b k ) f(a k ) Condições de convergência Nos extremos dos sucessivos sub-intervalos a função deve manter sinais contrários. Para isso é suficiente que a função não mude de concavidade no intervalo [a, b], isto é, f tenha sinal constante no intervalo [a, b]. Slide 10
Análise Numérica 6 Erro na iteração k Consideremos o caso da convergência à esquerda a, isto é: Slide 11 Se aplicarmos o teorema do valor médio aos intervalos [x k 1, x k ] e [x k, s] obtemos: ξ [xk 1,x k ] : f(x k ) f(x k 1 ) = f (ξ)(x k x k 1 ) (1) ξ [x k,s] : 0 f(x k ) = f (ξ )(s x k ) (2) a No caso da convergência à direita o raciocínio é análogo. Resolvendo (1) em ordem a f(x k ), substituindo em (2) e resolvendo esta em ordem a (x k s) vem: (x k s) = f (ξ)(x k x k 1 ) + f(x k 1 ) f (ξ ) Usando novamente a equação (1) para substituir f(x k 1 ) teremos: (x k s) = f (ξ)(x k x k 1 ) + f(x k ) f (ξ )(x k x k 1 ) f (ξ ) Slide 12 Como, no pressuposto de que a convergência é à esquerda, f(x k ) < 0, então cortando esse termo fica-se com uma fracção maior: (x k s) f (ξ)(x k x k 1 ) f (ξ )(x k x k 1 ) f (ξ ) Finalmente, aplicando módulos, usando a desigualdade triangular dos módulos a e tomando o pior caso para as derivadas, isto é, substituindo f (ξ) por M 1 = max x [a,b] f (x) e f (ξ ) e f (ξ ) por m 1 = min x [a,b] f (x) vem finalmente: x k s M 1 m 1 m 1 x k x k 1 a a + b a + b
Análise Numérica 7 Exemplo Encontre um valor aproximado a menos do que 5 10 3 da raiz s da equação sabendo que s ]1, e[. x ln x 1 = 0 Slide 13 Resolução 1. Verificação das condições de convergência no intervalo dado f(x) = x ln x 1 f (x) = ln x + 1 f (x) = 1 x portanto f > 0 em [1, e] e está garantida a convergência do método. Slide 14 2. Cálculo do número de iterações Temos uma expressão para o majorante do erro em cada iteração, mas isso não nos permite determinar à partida o número de iterações que são necessárias para satisfazer um certo erro. Apenas poderemos, à medida que vamos iterando, determinar o erro máximo dessa aproximação. Aplicando a expressão à esta função em concreto: M 1 = max f (x) = max ln x + 1 = 2 x [1,e] x [1,e] Logo: m 1 = min f (x) = min ln x + 1 = 1 x [1,e] x [1,e] ε k 2 1 1 x k x k 1 = x k x k 1
Análise Numérica 8 3. Iterações Usando a fórmula de cálculo de x k+1 : x k+1 = a kf(b k ) b k f(a k ) f(b k ) f(a k ) Slide 15 Fazem-se as seguintes iterações: k a k f(a k ) b k f(b k ) x k+1 ε k 0 1-1 e 1.718 1.632 1 1.632-0.200 e 1.718 1.746 1.1 10 1 2 1.746-0.028 e 1.718 1.761 1.5 10 2 3 1.761-0.004 e 1.718 1.763 2 10 3 Obtendo-se a solução x = 1.763 ± 2 10 3. Síntese Seja f C[a, b] e f C[a, b]. Seja ainda f uma função convexa ou côncava (f com sinal constante) no intervalo [a, b], com f(a).f(b) < 0. Então a sucessão {x k } determinada pelo método da falsa posição Slide 16 x k+1 = a kf(b k ) b k f(a k ) f(b k ) f(a k ) converge para um zero de f nesse intervalo e o erro na iteração k é majorado por: x k s M 1 m 1 m 1 x k x k 1 com 0 < m 1 f (x) M 1 <, x [a,b].
Análise Numérica 9 Método da falsa posição modificado Slide 17 Em cada iteração toma-se o ponto extremo do intervalo que ficaria fixo (por exemplo (b k, f(b k )) e substitui-se a coordenada y por metade do seu valor, (b k, f(b k) 2 ), desde que os extremos do intervalo se mantenham em seguida um de cada lado da raiz. Desta forma evita-se que um dos extremos do intervalo fique fixo até ao final do processo iterativo. Exemplo A fórmula de cálculo de x k+1 é basicamente a mesma que anteriormente, substituindo-se quando necessário f(a k ) for f(a k) ou f(b 2 k ) por f(b k). 2 Para função x ln x 1 = 0 e o intervalo ]1, e[ vem: Slide 18 k a k f(a k ) b k f(b k ) x k+1 ε k ou f(a k) ou f(b k) 2 2 0 1-1 e 1.718 1.632 1 1.632-0.200 e 0.859 1.838 2 10 1 2 1.632-0.200 1.838 0.118 1.761 7.7 10 2 3 1.761-0.003 1.838 0.118 1.763 2 10 3 k = 0 x 0 = a 0 = 1 k = 1 x 1 = 1.632 f(x 1 ) = 0.200... a1 = x 1 f(x 0 )f(x 1 ) > 0... f(b1 ) f(b 1) 2 k = 2 x 2 = 1.838 f(x 2 ) = 0.118... b2 = x 2 f(x 1 )f(x 2 ) < 0... f(a2 ) k = 3 x 3 = 1.761 f(x 3 ) = 0.003... a3 = x 3 f(x 2 )f(x 3 ) < 0... f(b3 )
Análise Numérica 10 Outra alteração ao método da falsa posição o método da secante Funciona de modo análogo ao método da falsa posição mas sem a obrigatoriedade de os extremos terem sinais opostos: Slide 19 x n+1 = f(x n)x n 1 f(x n 1 )x n f(x n ) f(x n 1 ) em que f(x n )f(x n 1 ) > 0 é admissível. Este método é especialmente útil quando não se consegue garantir sinal constante para a 2 a derivada de f no intervalo em estudo. Esta simplificação do método da falsa posição pode trazer como consequência que o método da secante deixe de convergir sob certas condições. Todavia, quando converge, fá-lo mais rapidamente. Método iterativo simples ou de ponto fixo Este método obriga a que a função esteja expressa sob uma forma recursiva, isto é: f(x) = 0 x = F (x) Slide 20 Partindo de um valor inicial x 0 vai-se recursivamente obtendo novos valores x n : x n+1 = F (x n )
Análise Numérica 11 Condições de convergência Há casos em que o método diverge! Slide 21 Seja x = F (x), F (x) contínua e derivável, e s : s = F (s), isto é, s é a solução da equação f(x) = 0. Pelo teorema do valor médio: Como x n+1 = F (x n ) e s = F (s): ξn [x n,s] : F (x n ) F (s) = F (ξ n )(x n s) x n+1 s = F (ξ n )(x n s) Indutivamente: Slide 22 x n s = F (ξ n 1 )(x n 1 s) x n 1 s = F (ξ n 2 )(x n 2 s) x 1 s = F (ξ 0 )(x 0 s) Substituindo em cadeia teremos: x n+1 s = F (ξ n )F (ξ n 1 )F (ξ n 2 ) F (ξ 0 )(x 0 s) Se F (x) < L para todo o x [x n, s] vem: x n+1 s < L n+1 x 0 s Se L < 1 então {x n } s, isto é, é condição suficiente para que o método iterativo simples convirja que numa vizinhança de s contendo x 0. F (x) < 1
Análise Numérica 12 Erro ao fim da iteração k Retomemos o teorema do valor médio aplicado ao intervalo [x n, s]: F (x n ) F (s) = F (ξ n )(x n s) x n+1 s = F (ξ n )(x n s) x n+1 s = F (ξ n )( x n + s) Slide 23 Seja Então: x n+1 s = F (ξ n )(x n+1 x n + s x n+1 ) x n+1 s = F (ξ n )(x n+1 x n ) + F (ξ n )(x n+1 s) x n+1 s = F (ξ n ) 1 F (ξ n ) (x n+1 x n ) q = max x [a,b] F (x) x n+1 s q 1 q x n+1 x n Exemplo Encontre um valor aproximado a menos do que 5 10 3 da raiz s da equação x ln x 1 = 0 sabendo que s ]1, e[. Resolução Slide 24 De um modo geral existem várias funções F(x) tal que x = F(x) que se podem obter a partir da função f(x) = 0 inicial: x ln(x) 1 = 0 x = 1 ln(x), F(x) = 1 ln(x) x ln(x) 1 = 0 x = e 1 x, F(x) = e 1 x Tomando então, por exemplo, a função F(x) = e 1 x, temos: F (x) = 1 x 2 e 1 x Portanto, F(x) é definida e derivável em [ 1, e ] (intervalo definido na aula anterior).
Análise Numérica 13 F (x) = 2 x 3 e 1 x + 1 x 4 e 1 x = 1 x 3 e 1 x (2 + 1 x ) F (x) > 0, x [ 1, e ] = F (x) monótona e crescente em [ 1, e ] Slide 25 como: F (x) < 0, x [ 1, e ] = max x [ 1, e ] F (x) = F (1) Porém, como no intervalo [ 1, e ] não se verifica F (x) < 1, x [ 1, e ] vamos reduzir a largura do intervalo. Nota: f(1.5) 0.3918 (ainda é < 0 ) [ 1.5, e ] F (1.5) 0.866 = q... q 1 q 6.5 Fórmula de Recorrência: x n = F n 1 = e 1 x n 1 Slide 26 k x k F(x k ) ε k 0 1.5 1.948 1 1.948 1.671 1.8 10 0 2 1.671 1.819 9.6 10 1 3 1.819 1.733 5.5 10 1 4 1.733 1.781 3.1 10 1 5 1.781 1.753 1.8 10 1 6 1.753 1.769 1.0 10 1 7 1.769 1.760 5.8 10 2 8 1.760 1.765 3.2 10 2 9 1.765 1.762 1.9 10 2 10 1.762 1.764 1.3 10 2 11 1.764 1.763 6.5 10 3 12 1.763 1.763 3.0 10 3 13 1.763
Análise Numérica 14 Síntese f(x) = 0 x = F(x) Seja F(x) definida e derivável num intervalo I = [ a, b ] que contém todos os pontos x k. Se existir uma constante q tal que: Slide 27 F (x) q < 1, x I, então o processo iterativo x k = F(x k 1 ) converge independentemente do valor inicial x 0 [ a, b ] e esse limite é a única raiz da equação x = F(x) em [ a, b ]. Após k iterações o erro satisfaz a seguinte relação: com: ε k = x x k < q 1 q x k x k 1 q = max x I F (x) Ordem de um método iterativo Considere um método iterativo tal que: Seja s a raiz ou solução da equação, isto é: x n+1 = F (x n ) (3) Slide 28 s = F (s) (4) Desenvolva-se então F (x) em série de Taylor em torno de s: F (x n ) = F (s) + (x n s)f (s) + x n s) 2 F (s) +... 2! F (x n ) = F (s) (s x n )F (s) + s x n) 2 F (s)... 2! Usando as igualdades (3) e (4) podemos desenvolver a expressão s x n+1 da seguinte forma:
Análise Numérica 15 Slide 29 =0 {}}{ s x n+1 = s F (x n ) = s F (s) +F (s)(s x n ) F (s) (s x n) 2 +... 2! s x n+1 = F (s)(s x n ) F (s) (s x n ) 2 +... 2! Definindo i = s x i como o erro na iteração i: n+1 = F (s) n F (s) 2 n 2! +... Se F (s) 0 então o erro na iteração n + 1 é directamente proporcional ao erro na iteração n (como o erro é menor do que 1 as suas potências k n são desprezáveis face ao termo de primeira ordem n ), isto é, a convergência é de primeira ordem. Se F (s) = 0 e F (s) 0 temos uma convergência de segunda ordem. No caso geral em que F (r) (s) = 0, r<k e F k (s) 0 teremos uma convergência de ordem k, isto é: n+1 k n Método de Newton Slide 30 O método de Newton é semelhante ao método da falsa posição e suas variantes com a diferença de usar a tangente no ponto (x i, f(x i )) em vez da secante que une os pontos extremos. Neste caso qual é a expressão que gera os sucessivos x k? Olhando para o triângulo rectângulo formado por x 0, x 1 e f(x 0 ) tira-se de imediato que tan θ = f(x 0) x 0 x 1. Mas como f (x 0 ) = tan θ, por definição de derivada e declive da recta tangente, vem: No caso geral teremos: f (x 0 ) = f(x 0) x 0 x 1 x 1 = x 0 f(x 0) f (x 0 ) x n+1 = x n f(x n) f (x n )
Análise Numérica 16 Ordem de convergência A fórmula de recorrência do método de Newton é também do tipo x n+1 = F (x n ), em que F (x n ) = x n f(x n) f (x n ). Recordando o que se disse sobre a ordem de convergência de métodos iterativos teremos neste caso: Slide 31 F (x n ) = x n f(x n) f (x n ) F (x) = 1 [f (x)] 2 f(x)f (x) [f (x)] 2 No ponto s teremos: =0,pois f(s)=0 {}}{ F (s) = 1 [f (s)] 2 f(s)f (s) [f (s)] 2 = 1 1 = 0, para f (s) 0 Quanto à segunda derivada: F (x) = [2f (x)f (x) f (x)f (x) f(x)f (x)]f (x) 2 [f (x) 2 f(x)f (x)] [2f (x)f (x)] f (x) 4 Que calculada no ponto s dará: Slide 32 F (s) = f (s)3 f (s) 2f (s) 3 f (s) f (s) 4 = f (s) f (s) 0 a menos que f(x) apresente caracterísitcas particulares. Então, para uma função qualquer, o método de Newton é um método de 2 a ordem.
Análise Numérica 17 Condições de convergência Há casos em que o método diverge! Slide 33 Quando estudamos a ordem de convergência vimos que esta dependia da segunda derivada de f no ponto s, pelo que a primeira condição de convergência será que f(x) seja contínua e duplamente diferenciável em [a, b]. Pelo exemplo ilustrado na figura acima (ponto x 3 ) é também evidente que se tem que impôr que f (x) 0, x [a,b]. Para que o método convirja basta que as tangentes sejam tais que os pontos x i não saiam fora do intervalo [a, b] e que estes se vão aproximando de s. Slide 34 Uma forma de garantir isso (há outras) seria impôr concavidade constante à função f(x) f (x) com sinal constante e impôr que as tangentes em a e b intersectem o eixo dos xx dentro do intervalo [a, b]. Estas são no entanto condições apenas suficientes. Se neste caso começarmos com x 0 = a, apesar de a tangente em b intersectar o eixo dos xx fora de [a, b], o método converge! Condição suficiente menos forte (mas ainda suficiente) relacionada apenas com o ponto inicial (x 0 ) é que f(x 0 )f (x 0 ) > 0.
Análise Numérica 18 Demonstração Seja s a raiz da equação f(x) = 0. Vamos desenvolver f(s) em série de Taylor em torno de x k : f(s) = 0 = f(x k ) + f (x k )(s x k ) + f (ξ k ) (s x k ) 2, ξ k [s, x k ] 2 Slide 35 Donde se extrai: s x k = f(x k) f (x k ) f (ξ k ) 2f (x k ) (s x k) 2 Slide 36 Vamos supôr que s x k > 0 (s à direita de x k, portanto convergência à esquerda). Então o lado direito da equação também terá que ser positivo, isto é: f(x k) f (x k ) f (ξ k ) 2f (x k ) (s x k) 2 > 0 Como (s x k ) 2 > 0, uma condição suficiente para que o lado direiro da equação seja positivo é que: f(x k ) f (x k ) < 0 f (ξ k ) 2f (x k ) < 0 isto é, f(x k ) com sinal contrário a f (x k ) e f (x k ) com sinal contrário a f (ξ k ), ou seja, f(x k ) e f (ξ k ) com o mesmo sinal. Vamos supôr que s x k < 0 (s à esquerda de x k, portanto convergência à direita). Então o lado direito da equação também terá que ser negativo, isto é: f(x k) f (x k ) f (ξ k ) 2f (x k ) (s x k) 2 < 0 Como (s x k ) 2 > 0, uma condição suficiente para que o lado direiro da equação seja negativo é que: f(x k ) f (x k ) > 0 f (ξ k ) 2f (x k ) > 0 isto é, f(x k ) com o mesmo sinal de f (x k ) e f (x k ) com o mesmo sinal de f (ξ k ), ou seja, f(x k ) e f (ξ k ) com o mesmo sinal.
Análise Numérica 19 Slide 37 Já tinhamos imposto anteriormente concavidade constante à função f (f (x) com sinal constante no intervalo [a, b]). A concavidade constante implica que as tangentes a f sejam estritamente crescentes ou decrescentes no intervalo [a, b]. Então, o método vai convergir estritamente pela esquerda ou estritamente pela direita de s. Nestas condições f(x) vai ter sinal constante no intervalo [s, x k ], k. Consequentemente, dado que quer f quer f têm sinal constante no intervalo de convergência, basta garantir as condições para o ponto inicial x 0 : f (x 0 )f(x 0 ) > 0 que estas ficam automaticamente garantidas para x k e ξ k, que pertencem ao intervalo [s, x k ]. Erro na iteração k Retomemos o desenvolvimento em série de Taylor feito anteriormente: s = x k f(x k) f (x k ) f (ξ k ) 2f (x k ) (s x k) 2 Slide 38 Utilizando a fórmula de recorrência do método de Newton: x k+1 = x k f(x k) f (x k ) Obtemos: s = x k+1 f (ξ k ) 2f (x k ) (s x k) 2 s x k+1 = f (ξ k ) 2f (x k ) (s x k) 2 e k+1 f (ξ k ) 2 f (x k ) e k 2
Análise Numérica 20 Então, após k iterações o erro satisfaz a seguinte relação: ε k = s x k M 2 2 m 1 s x k 1 2 Slide 39 com M 2 = max x [ a, b ] f (x) m 1 = min x [ a, b ] f (x) Para a determinação de e 0 toma-se, de uma forma pessimista, e 0 = b a. Exemplo Determine a raiz positiva da equação f(x) = x 2 2 = 0 com um erro inferior a 10 4 e tomando [a, b] = [1, 1.5]. Resolução: Verificação das condições de convergência Slide 40 f(x) = x 2 2 f (x) = 2x m 1 = 2 f (x) = 2 M 2 = 2 Para o ponto inicial, tomemos x 0 = 1: f(1) = 1 2 2 = 1 f (1) = 2 f(1)f (1) < 0 (!)
Análise Numérica 21 Tentemos então x 0 = 1.5: f(1.5) = 1.5 2 2 = 0.25 f (1.5) = 2 f(1.5)f (1.5) > 0 Slide 41 Expressão do erro Iterações ε k+1 2 2 1 ε2 k = 0.5 ε 2 k k x k f(x k ) f (x k ) x k+1 ε k+1 0 1.50000 0.25000 3.00000 1.41667 0.12500 1 1.41667 0.00694 2.83333 1.41422 0.00781 2 1.41422 0.00000 2.82843 1.41422 0.00003 Síntese Seja f C 2 [ a, b ] - contínua e duplamente diferenciável em [ a, b ]. Se se verificar: 0 < m 1 f (x) M 1, x [ a, b ] Slide 42 f (x) M 2, x [ a, b ] Então o método de Newton converge desde que se tome para valor inicial x 0 um valor pertencente a [ a, b ] tal que f(x 0 ) f (x 0 ) > 0. Após k iterações o erro satisfaz a seguinte relação: ε k M 2 2 m 1 ε 2 k 1