Em análise numérica, o método das secantes é um algoritmo de busca de raízes que usa uma sequência de raízes de linhas secantes para aproximar cada vez melhor a raiz de uma função f.

O método da secante pode ser pensado como uma aproximação por diferenças finitas do método de Newton. No entanto, foi desenvolvido independentemente do método de Newton, e antecedeu-o por mais de 3.000 anos.

O método thumb|300px|As duas primeiras iterações do método das secantes. A curva vermelha mostra a função f e as linhas azuis são as secantes O método das secantes é definido pela relação de recorrência

ou

Como pode ser visto da relação de recorrência, o método das secantes requer dois valores iniciais, x0 e x1, que devem ser preferencialmente escolhidos próximos da raiz.

Dedução do método Dados xn−1 e xn, construímos uma reta passando pelos pontos (xn−1, f(xn−1)) e (xn, f(xn)), como ilustrado na figura à direita. Note que essa reta é uma secante ou corda do gráfico da função f.

Na forma ponto-declividade, ela pode ser definida como

Agora escolhemos xn+1 como zero dessa reta, então xn+1 é escolhido de modo que

Resolvendo essa equação, obtém-se a relação de recorrência para o método das secantes.

Convergência As iterações xn do método das secantes convergem para uma raiz de f, se os valores iniciais x0 e x1 estiverem suficientemente próximas da raiz. A ordem de convergência do método é α, onde

é a razão áurea. Em particular, a convergência é superlinear.

Esse resultado só vale sob certas condições técnicas; a saber, f deve ser duas vezes continuamente diferenciável e a raiz em questão deve ser simples (isto é, não deve ser uma raiz múltipla).

Se os valores iniciais não estiverem próximos da raiz, não se pode garantir que o método das secantes convergirá.

Exemplos Computacionais Eis implementações do método das secantes em Matlab. Neste exemplo, o método das secantes é aplicado para encontrar uma raiz da função f(x) = x3 −10x2 -400. Os valores iniciais são x0=20 e x1=30; o número de iterações é n=8. Espera-se que a iteração irá convergir para x=12,5426 após um número suficiente de iterações.

f=@(x) x^3 -10*x^2 -400; x(1)=20; x(2)=30; n=8; j=n+3; for i=3:j x(i) = x(i-1) - (f(x(i-1)))*((x(i-1) - x(i-2))/(f(x(i-1)) - f(x(i-2)))); end root=x(j)

Ver também Método da posição falsa

Referências

Ligações externas

Roots of a function - Secant Method, no Rosetta Code

Categoria:Análise numérica Categoria:Algoritmos