Método da Busca Incremental
- Guerrini Filho, Hélio
- 3 de jan. de 2018
- 2 min de leitura
Este post apresenta uma implementação alternativa em Python 2.7 do método numérico de Busca Incremental que, geralmente, é utilizado como facilitador para se encontrar zeros de funções.
O método consiste num procedimento aplicado para se encontrar um estreito intervalo dentro do conjunto dos números reais que contenha ao menos um zero de uma função que se escolheu para analisar.
Clique na imagem acima para baixar o arquivo *.py* do método.
Dentro do código acima, ao lado da palavra "return", insira a função a ser analisada.
Defina os limites "a" e "b" de um intervalo grande para se fazer a varredura. E finalmente, defina o valor do incremento "Dx" que se quer aplicar.
O resultado são dois valores "x1" e "x2" que definem os limites inferior e superior de um intervalo pequeno de comprimento igual ao incremento "Dx" . Este pequeno intervalo contém pelo menos um zero da função avaliada.
O algoritmo do método se utiliza do teorema de Bolzano para detectar as raízes das funções. Seu funcionamento é descrito nas instruções abaixo:
Algoritmo Método Incremental:
Inicia-se com: x1 = a e x2 = a + Dx f1 = f (a) e f2 = f (x2) Enquanto fn . fn+1 > 0, faça: Se xn >= b , Pare xn+1 e fn+1 mantém-se xn+2 = xn+1 + Dx e fn+2 = f (xn+2) onde n = 1, 2 ,3 ... Caso contrário, os limites do intervalo serão:
xn+1 e xn+2.
Problemas do método:
Durante a varredura, duas raízes podem não ser detectadas se o incremento for maior que o espaçamento entre as raízes (zeros de função);
Raízes repetidas não são detectadas;
Quando a função apresenta descontinuidades, o método pode acusar raízes que não existem. Por exemplo, a função f(x) = tan(x), que muda de sinal para x = ± n(pi)/2 com n = 1,2,3... , onde não tem raízes.