Curso de Cálculo NuméricoProfessor Raymundo de Oliveira |
| Home |
Programa | Exercícios | Provas | Professor | Links | Capítulo 3 - Cálculo de Raízes Neste segundo capítulo, vamos analisar o Cálculo de Raízes, isto é, vamos buscar os zeros de uma função, os pontos que anulam o valor de uma função. Um caso clássico é o do cálculo das raízes de uma equação do segundo grau, colocada sob a forma ax2 + bx + c = 0. As duas raízes são, como se sabe, facilmente obteníveis pela expressão: (-b ± Sqr(b2 4ac))/(2a) . Entretanto, se colocarmos uma expressão em que apareça uma equação transcendente, a solução já não é tão simples, como demonstram os exemplos abaixo: ex + x = 0 cos(x) x = 0 ln(x) + x 2 = 0 Mesmo um polinômio de grau maior que três já não tem uma solução algébrica simples como a da equação do segundo grau, a não ser em casos particulares. Vamos analisar como enfrentar esse problema, tão comum em diversas áreas da engenharia, da economia, das ciências sociais, entre tantas outras. Essas equações, com enorme freqüência, nos levam a raízes reais não racionais que, ao serem representadas no computador, necessariamente, o serão de forma aproximada, pelas razões já expostas no capítulo anterior, tendo em vista que necessitariam de infinitos dígitos, em suas mantissas, para serem representadas. Além disso, em geral, estamos interessados em obter esses valores, essas raízes, com uma determinada precisão, com um erro tolerável, com algumas casas decimais, sem a pretensão de obter valores exatos. Isso é mais do que suficiente, para os problemas práticos encontrados. Os métodos numéricos a serem apresentados, partindo de valores inicialmente propostos, buscam aprimorar esses valores, diminuindo os erros, aproximando-se, assim, dos valores das raízes procuradas, até que os erros sejam aceitáveis, podendo-se garantir que sejam erros inferiores a valores pré-definidos. 3.1 Método Gráfico Pode ser de enorme utilidade o uso de um gráfico, ou de uma tabela, para se estimar a provável posição de uma raiz. Na hipótese de se utilizar o método gráfico, faz-se um esboço, tão preciso quanto possível, de modo a se ter uma idéia de onde se encontra a raiz. A partir desse valor, outros métodos podem ser utilizados para se obter o resultado com uma precisão maior, se necessário. Um bom gráfico resolverá um grande número de problemas, por si só, nos surpreendendo, muitas vezes, por tornar muito claro o local da raiz procurada. No mínimo, será utilíssimo, como ponto inicial para a pesquisa da raiz por um método mais preciso. Da mesma maneira, uma tabela da função pesquisada, nos indicará aproximadamente a posição da raiz, que se situará no intervalo em que a função muda de sinal, desde que a função seja contínua, nessa região. Exemplo: calcular a raiz de cos(x) x = 0. Num primeiro momento, pode-se ficar em dúvida quanto à provável posição da raiz. Basta um simples esboço para que fique bem clara a posição aproximada da raiz. Para facilidade de esboço, vamos transformar a expressão cos(x) x = 0 em cos(x) = x . Nesse caso é facílimo esboçar tanto cos(x) quanto x , e estimarmos a interseção das duas curvas. Vejamos o gráfico abaixo:
Observa-se, facilmente, que a interseção das curvas é, aproximadamente, em torno de x = 0,7 . Não preciso lembrar que estamos tomando, para cos(x) , o x em radianos. 3.2 Método da Bipartição Esse método trata de aperfeiçoar a aproximação obtida a partir, por exemplo, do método gráfico ou do uso da tabela referida acima. Tendo dois valores entre os quais se situa a raiz, isto é, dois pontos em que a função troca de sinais, sendo a função contínua, haverá entre esses pontos, necessariamente, uma raiz, isto, no mínimo uma raiz, pois pode haver mais de uma. Acha-se o ponto médio desse intervalo e busca-se o sinal da função nesse ponto. Se a função, surpreendentemente, for zero, chega-se à raiz. O mais provável é que isso não ocorra, caso em que se busca o sinal da função nesse ponto médio, reduzindo-se à metade o intervalo em que a função muda de sinal, aproximando-nos, portanto, do valor da raiz. Esse processo de divisão do intervalo ao meio é chamado de bipartição e permite chegar tão próximo da raiz quanto se queira, pela simples repetição do que foi descrito. Em cada iteração o intervalo é dividido por dois. Assim, em n iterações, o intervalo será dividido por 2n . Esquematicamente, seja o intervalo (a , b) com f(a) . f(b) < 0 , o que garante que f(a) tem sinal contrário a f(b). Sendo f uma função contínua, haverá, no mínimo, uma raiz real entre a e b. Acha-se o ponto médio c = (a+b)/2 . Calcula-se f(c). Se f(c) = 0 , teremos chegado à raiz. Se f(c) . f(a) < 0 , a raiz estará entre a e c , caso contrário a raiz estará entre c e b. No primeiro caso a raiz estará no intervalo (a,c). Dando a b o valor de c , isto é, alterando o valor de b, a raiz estará no novo intervalo (a,b). Na segunda hipótese, a raiz estará no intervalo (c,b). Dando a a o valor de c, isto é, alterando o valor de a, a raiz estará no novo intervalo (a,b). Em qualquer caso, depois da nova iteração, a raiz estará no novo intervalo (a,b), com amplitude a metade do anterior, diminuindo, portanto, a margem de erro pela metade. Exemplo: calcular a raiz de cos(x) x = 0. Já vimos, utilizando o método gráfico, que a raiz é aproximadamente, 0,7 . Vamos calcular com mais precisão. Do mesmo gráfico, nota-se que, para x = 0 , cos(x) x > 0 e que para x = 1 , cos(x) x < 0 . Assim, sendo cos(x) x uma função contínua, haverá raiz real entre 0 e 1. No caso, o gráfico é claro, haverá uma só raiz. Fazendo-se a = 0 e b = 1 , calcula-se o ponto médio c = (a+b) / 2 . Daí c = 0,5. Cos(0,5) 0,5 = 0,378 > 0 . Logo f(a).f(c) > 0 e a raiz estará entre c e b . Dá-se a variável a o valor de c e a raiz fica entre a e b, recomeçando-se o processo. O quadro a seguir indica a seqüência de valores obtidos na busca da raiz.
Podemos admitir que a raiz é aproximadamente o ponto médio do intervalo (0,73828125 , 0,7421875), isto é: r ~ 0,740234375 . Podemos afirmar que o erro será sempre menor que a metade do intervalo, isto é erro < 0,001953125 . Se o intervalo inicial era 1 , após 8 interações, o intervalo será 1/(28) e o erro máximo será a metade desse valor, isto é: 0,001953125 . Dessa forma, se o intervalo inicial é d e, em conseqüência, o erro inicial é < d/2 , após n iterações, o intervalo será d/2n e o erro < d/2n+1 . Assim, conhecido o intervalo inicial e o erro máximo admissível, pode-se calcular o número de iterações necessárias. Seguem-se outros exemplos. Calcular, pelo método da bipartição, com erro menor que 0,001 , uma raiz de cada equação abaixo:
3.3 Método da Falsa Posição (Regula Falsi) Em vez de dividir o intervalo ao meio, como na bipartição, este método procura traçar a secante que passa pelos dois pontos já obtidos, e tomar como nova hipótese, o ponto em que a secante corta o eixo, partindo do princípio de que a raiz deve estar mais próxima do ponto que apresenta o menor valor da função.
Seja, mais uma vez, a função cos(x) x , traçada abaixo:
Como vemos f(0) = 1 e f(1) = - 0,46, resultado já apresentado acima. Em vez de se sugerir o valor médio, 0,5 , busca-se o ponto em que a secante passando por (0 , 1) e (1, -0,46) corta o eixo de x . Chamando a de 0 e b de 1 , o valor da interseção será calculado da seguinte maneira: f(a) / (c-a) = f(b) / (c-b) \ c = (b.f(a) a.f(b))/(f(a) f(b)) No nosso caso: c = (1 x 1 0 x (-0,46)) / (1-(-0,46)) \ c = 0,685 , que, como se vê, está mais próximo da raiz 0,74 do que o valor médio, da bipartição, que seria 0,5 . A partir daí, procura-se ver se a raiz está entre a e c ou entre c e b , da mesma maneira que se fazia no método da bipartição, a partir dos sinais de f(a) , f(b) e f(c). Chamando-se c de a ou b , continua-se o processo.
Aplique esse método às questões sugeridas para o método da bipartição. Ao chegar próximo à raiz, esse método tem o inconveniente de só alterar um dos extremos, ou a ou b. Com isso, embora se aproxime, em geral, mais rapidamente da raiz que o método da bipartição, ele fixa um dos extremos, a ou b , o que faz com que o intervalo (a,b) não tenda a zero, o que era das grandes vantagens do método da bipartição. Repare que nesse exemplo, fica-se alterando somente o extremo a. Há um artifício para superar essa limitação, fazendo com que o intervalo (a,b) continue a tender a zero. Para tanto, se o extremo a não for alterado, na iteração seguinte divide-se f(a) por dois. De maneira análoga, divide-se f(b) por dois, se o extremo b não tiver sido alterado. Dessa maneira, a fórmula acima, { c = (b.f(a) a.f(b))/(f(a) f(b)) }, para cálculo do novo c, passa a ser a seguinte: c = (b.(f(a)/2) a.f(b))/((f(a)/2) f(b)) ou c = (b.f(a) a.(f(b)/2))/(f(a) (f(b)/2)) dependendo de que extremo ficou, inicialmente, fixo. O quadro a seguir representa a aplicação dessa sistemática à função f(x) = cos(x) - x :
Se você tiver dúvidas sobre a matéria, meu e-mail
é: raymundo.oliveira@terra.com.br
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Home | Programa | Exercícios | Provas | Professor | Links | |