Método das secantes

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.[1]

O método

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

x n + 1 = x n x n x n 1 f ( x n ) f ( x n 1 ) f ( x n ) {\displaystyle x_{n+1}=x_{n}-{\frac {x_{n}-x_{n-1}}{f(x_{n})-f(x_{n-1})}}f(x_{n})}

ou

x n + 1 = x n 1 f ( x n ) x n f ( x n 1 ) f ( x n ) f ( x n 1 ) {\displaystyle x_{n+1}={\frac {x_{n-1}f(x_{n})-x_{n}f(x_{n-1})}{f(x_{n})-f(x_{n-1})}}}

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

y f ( x n ) = f ( x n ) f ( x n 1 ) x n x n 1 ( x x n ) . {\displaystyle y-f(x_{n})={\frac {f(x_{n})-f(x_{n-1})}{x_{n}-x_{n-1}}}(x-x_{n}).}

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

f ( x n ) + f ( x n ) f ( x n 1 ) x n x n 1 ( x n + 1 x n ) = 0. {\displaystyle f(x_{n})+{\frac {f(x_{n})-f(x_{n-1})}{x_{n}-x_{n-1}}}(x_{n+1}-x_{n})=0.}

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

α = 1 + 5 2 1.618 {\displaystyle \alpha ={\frac {1+{\sqrt {5}}}{2}}\approx 1.618}

é 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.[1]

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)

Notas e referências

  1. a b Papakonstantinou, J., The Historical Development of the Secant Method in 1-D, consultado em 3 de novembro de 2014 

Ver também

Referências

  • Press, William H.; Teukolsky, Saul A.; Vetterling, William T.; Flannery, Brian P. (2002). Numerical Recipes in C: The Art of Scientific Computing. New York: Press Syndicate of the University of Cambridge. pp. 354–357. ISBN 0-521-43108-5 
  • Esequia Sauter; Dagoberto Adriano Rizzotto Justo, Fabio Souto de Azevedo, Jean Carlo Pech de Moraes. «Cálculo numérico - MAT01169 - Rotinas fornecidas». Consultado em 3 de novembro de 2014. Arquivado do original em 3 de novembro de 2014. function x2=Secante(f,x0,x1,tol,N)...  A referência emprega parâmetros obsoletos |coautores= (ajuda)

Ligações externas

  • «Buscador Online de Raízes de Polinômios - Métodos das Secantes» (em inglês). por Farhad Mazlumi 
  • Roots of a function - Secant Method, no Rosetta Code
  • Portal das tecnologias de informação