Pasta 86 Métodos Matemáticos da Engenharia Quı́mica IME/UERJ – 05-II Notas de Aula Equações não-lineares – o método da Bissecção Conhecemos inúmeras situações práticas onde um valor numérico especı́fico está associado a um determinado fato: por exemplo, a água congela a 0o C, ferve a 100o C e sua densidade passa por um ponto de máximo a 4o C. É portanto um problema freqüente, real, buscar a solução de uma dada equação, ou seja: Determinar os valores de x para os quais f (x) = 0 . (1) Exemplos: Ache as raı́zes de cada uma das equações abaixo sen(1/x) cos(log(1 + |x|)) y 2 − 3y q 2 z 5 − 3z 4 + [1/(3 + z 2 )] 4 − exp(5 − v 3 ) = 0 = 0 = 1 = 0 = −1 (2) Vamos nos concentrar em determinar soluções reais, ou seja, não estaremos interessados em soluções no plano complexo. Considere uma função cujos zeros você está procurando e sobre a qual você dispõe das informações que seguem: f está definida em um intervalo que contém os pontos a 6= b f (a) < 0 f (b) > 0 É natural deduzir que, entre os pontos a e b , podemos determinar ao menos um zero da função f , pois “para passar do semiplano inferior { y < 0 } ao semiplano superior { y > 0 }, o gráfico dessa função tem de cortar o eixo { y = 0 }”. Este raciocı́nio está correto desde que se saiba que a função f é contı́nua. Agora, como localizar no intervalo1 [a, b] esta tal raiz2 da equação f (x) = 0? Basta dividirmos o intervalo [a, b] em dois subintervalos [a, c] e [c, b] , é claro que a raiz estará ou no primeiro dos dois, ou no segundo, ou em ambos, quer dizer, no ponto c . E como saber? Vamos calcular f (c) . Se f (c) = 0, terminou a busca. Mas se f (c) > 0, concluı́mos a existência de uma raiz entre a e c . Em outras palavras, passamos do intervalo [a, b] para o intervalo [a, c] que tem as mesmas propriedades. Esquecemos então o intervalo [c, b] e nos concentramos portanto em [a, c] . Podemos mesmo rebatizá-lo como [a, b] e recomeçamos o raciocı́nio da mesma forma que anteriormente. E se tivéssemos obtido f (c) < 0? Ora, trabalharı́amos em [c, b] , pois seria este o subintervalo que teria “herdado” as propriedades do intervalo inicial. Desprezarı́amos a outra parte e batizarı́amos esse subintervalo de [a, b] , recomeçando como antes. (Observe que no primeiro caso, c vira b, enquanto no outro c vira a.) 1 2 supondo que a < b , sem perda de generalidade ou uma das raı́zes 2 Como escolher o ponto c? Bem, se nenhuma informação temos sobre o que ocorre dentro do intervalo, nada nos conduz a tomá-lo mais próximo de a ou de b. Decidimos assim por c := a + b . 2 Uma vez feita essa escolha, podemos antecipar o nı́vel de precisão, de aproximação, o qual vai depender do número de vezes que tenhamos bipartido o intervalo inicial. É imediato deduzir que existe uma raiz num subintervalo de comprimento (b − a)/2N que teremos gerado, após aplicarmos o método N vezes. Por exemplo, se desejarmos uma precisão de 10−3 =0,001 no caso da figura acima, onde a = −2, b = 3 , devemos escolher N de tal forma que 3 − (−2) < 0, 001 ⇔ 2N > 5000 ⇔ N > log2 (5000) . N 2 E, como log2 (5000) = log2 5 + log2 (1000) < log2 8 + log2 (1024) = 3 + 10 = 13 , temos a garantia da precisão desejada com 13 iterações. Este é o chamado critério de parada . Um processo numérico desse tipo, para aproximar a resposta a um dado problema se denomima iterativo, cada um dos passos que indicamos se chama iteração. Compare-o com o método chamado direto que discutimos para resolver um sistema linear algébrico de equações lineares, o método de triangularização de Gauss. Este nos daria a solução exata se fossem efetuados os cálculos corretamente, enquanto que no caso da bissecção3 apenas chegamos a uma aproximação da resposta, ainda que todos os cálculos sejam exatos. Exercı́cios f (x) a b Precisão Resposta (mais precisa) i x ln x − 3, 2 2 3 10−2 2, 953125 2 −2 x + ln x 0, 5 1 10 0, 65625 ii −x −2 iii e − sen x 0 0, 62 10 0, 59375 x2 − 3 1 2 10−2 1, 734375 iv 3 e de todos os métodos iterativos 3