Método da Secante

Teoria Completa

Falaaaaa meu amigo, nós acabamos de estudar um método maravilhoso que tem só benefícios, converge rapidinho e tal: O super poderoso método de Newton! Po, então pra que tem outro?

O grande problema é que o método de Newton é muito mais difícil de implementar do que outros métodos numéricos e em algumas vezes o cálculo da derivada se torna tão difícil que a gente perde um tempo bem maior pra resolver! Uma forma de contornar este problema é substituir a derivada f ’   ( x ) pelo quociente das diferenças:

f ' x k ≅ f x k - f x k - 1 x k - x k - 1

Nesse caso, a função de iteração ficaria:

g x k = x k - f x k f x k - f x k - 1 x k - x   k - 1 = x k - f x k f x k - f x k - 1 x k - x k - 1

g x k = x k + 1 = x k - 1 f x k - x k f x k - 1 f x k - f x k - 1

São necessárias duas aproximações para iniciarmos o método. Além disso, cada iteração usará as duas últimas aproximações. Onde x k   e   x k - 1 são duas aproximações para a raiz.

Vamos dar uma olhada na interpretação geométrica agora. Temos os dois chutes iniciais x - 1 e x 0 . Traçamos uma reta passando pelos pontos x - 1 , f x - 1 e x 0 , f x 0 . Onde essa reta cruza o eixo x será o nosso x 1 . O mesmo processo é feito para encontrarmos x 2 , mas dessa vez ligamos os pontos x 0 , f x 0 e x 1 , f x 1 . Esse processo continua até chegarmos a uma aproximação suficientemente próxima.

Perceba que no nosso gráfico fizemos a primeira iteração passando por x 0 ,   x 1   e   x 2 que era justamente a reta secante do gráfico, a próxima secante era em x 3 e esse processo é repetido inuuuuuuuúmeras vezes até satisfazer aos critérios de parada.

O método da secante vem láaaaaaaaa do MPF, então ele necessita exatamente das mesmas coisas! A única diferença é que aqui precisamos de 2 chutes iniciais e não apenas 1 .O critério de parada será:

x k + 1 - x k < ε

E, novamente, outro critério usado é:

f x k < ε

“Em um intervalo de [1,2], utilize como critério de parada b - a ≤ ε , onde usando ε = 10 - 4 .Encontre a raíz f x = ( x - 2 ) 2 - ln ⁡ x = 0

Vamos lá?

Consegue adivinhar qual é a primeira coisa que vamos fazer???? Isso mesmo, montar uma tabela de bola com toooodas as informações que precisamos: o número k de iterações (que vai de 0 até n), o valor de x k - 1 e x k para cada iteração, os valores de x k + 1 calculado a caaaada iteração , e o valor da nossa função f x aplicada em :   x k - 1 , x k e x k + 1 . E por último e não menos importante: o critério de parada. Fica mais ou menos assim:

Agora, vou ensinar como se completa a tabela: Nesse caso, começamos com k=1!

Vamos usar nosso exemplo super manjado que temos usado deeeesde o método da bissecção. Calcular o zero da função x 3 - 3 x - 1 usando ε = 10 - 5

Temos uma raiz no intervalo 1,2 , então vamos usar x k - 1 = 1 e x 0 = .

x k - 1 = 1

x 0 = 2

ε = 10 - 4

Iteração 1 :

x 1 = g x 0 = x - 1 f x 0 - x 0 f x - 1 f x 0 - f x - 1 = 1.5906

Critério de Parada:

x 1 - x 0 = 2 - 1 > 10 - 5

f x 1 = 0.2965 > 10 - 5

Agora que nós vimos como se calcula ,vamos jogar os valores na tabela pra ficar organizadinho e bem mais fácil de enxergar o que ta acontecendo a cada iteração.Como não alcançamos o critério de parada continuamos as iterações. Bora jogar na tabela e ver como fica ?

Vamos só dar uma analisada na tabela, meu amigo vou te ensina um macete que vai mudar sua vida .... Perceba que a começamos com uma iteração. O   x k de uma iteração seeeeempre vai ser ser o x k + 1 da anterior, e aquele x k   antigo passa a ser o novo   x k - 1 . MARAVILHOSO NÉ?

Organizando desse jeito fica bem mais fácil aplicar na fórmula do x k + 1 :

x k + 1 = x k - 1 f x k - x k f x k - 1 f x k - f x k - 1

Perceba na tabela que deixei em colorido a nossa escadinha iterativa, na iteração 1 x k + 1 = 1,5906 , na iteração 2 ele passou a ser x k e na iteração 3 ele era x k - 1 . Isso significa que quando montamos a tabelinha a gente nem força muito os neurônios!

Opa, fizemos em 6 iterações. Continua sendo bem menos que nosso método da bisseção que precisaria de 17 , mas ainda não é tão bom quanto o Newton que fez em 4 . Nesse caso seria bem mais aconselhável usarmos Newton já que a derivada de um polinômio é bem tranquila, mas pra derivadas mais complicadas esse método ajuda muito ;)

Algoritmo

Vamos para o algoritmo:

Passo 1. Dados iniciais (o que seu programa vai receber de você):

a. Aproximações iniciais x 0 e x 1

b. Precisão do resultado final ε 1 e ε 2

Passo 2. Definimos um contador de iterações k = 0 .

Passo 3. Se f x 1 < ε 1 , escolha x 1 como x - e FIM. Caso contrário, continue para o Passo 4.

Passo 4. k = k + 1 , aumentamos uma iteração no contador.

Passo 5. x = x 0 f x 1 - x 1 f x 0 f x 1 - f x 0

Passo 6. Se x - x 1 < ε 2 , escolha x como x - e FIM. Caso contrário continue para o Passo 7.

Passo 7. x 0 = x 1

Passo 8. x 1 = x

Passo 9. Voltamos para o Passo 3 .

É recomendável adicionar o número de iterações como critério de parada também ;)

Aqui o algoritmo mudou um pouco do MPF já que nossa g x usa as duas últimas iterações então precisamos de 2 aproximações iniciais. Além disso repare que aqui não precisamos definir duas funções ( f x e g x ), já que nossa g x usa nossa f x e tem sempre a mesma estrutura.

Estudo da Convergência

Como o método da secante é simplesmente uma aproximação do método de Newton, onde usamos

f ' x k ≅ f x k - f x k - 1 x k - x k - 1 ,

as condições de convergência são praticamente as mesmas. O método pode divergir caso f x k ≅ f x k - 1 , que é justamente a situação em que f ' x k ≅ 0 , na qual o método de Newton podia divergir.

Observações

Resumindo tudo o que eu disse aqui, os melhores métodos em 99 % dos casos são os de Newton e da Secante, por serem normalmente muito mais rápidos. O de Newton deve ser usado caso a derivada da f x seja fácil de se obter e de se calcular. Caso contrário, usamos o método da Secante.

Claro que isso depende do seu objetivo. Por exemplo, se quisermos um intervalo de um tamanho bem pequeno que contenha a raiz o melhor método a se usar normalmente será o da Bisseção, já que o de Newton e o da Secante não trabalham com intervalos.

Além disso os métodos derivados do MPF tem condições de convergência bem mais limitadas, o que deve ser levado em conta.

Desvantagens

  • Se o cálculo da derivada não for difícil, então o método logo será substituído pelo de Newton-Raphson;
  • Se o gráfico da função for a um dos eixos e/ou o eixo das abscissas em um ou mais pontos, logo não se deve usar o método da Secante ;
  • Não pode ser usado quando há tendência da curva ao paralelelismo a qualquer um dos eixos (exemplo função quadrática) ou quando a tendência da função à tangência ao eixo das abscissas em um ou mais pontos.

Expandir

Exercício Resolvido #1

Richard L. Burden e J. Douglas Faires, Numerical Analysis, 9ª ed. Brooks/Cole, Cengage Learning, pag 75, exercício 3 adaptado

Seja f x = x 2 - 6 . Dados x - 1 = 3 e x 0 = 2 , encontre x 2 usando o método da secante.

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

Só aplicar o algoritmo:

x - 1 = 3

x 0 = 2

x 1 = g x 0 = x - 1 f x 0 - x 0 f x - 1 f x 0 - f x - 1 = 2.4

x 2 = g x 1 = x 0 f x 1 - x 1 f x 0 f x 1 - f x 0 = 2 . 45 -

Resposta

x 2 = 2 . 45 -

Exercício Resolvido #2

Lista 1 – UTFPR – Prof Violeta Stephan – Questão 9

Calcule a raiz real da equação x 3 - 2 x 2 + 2 x - 5 = 0 próxima de x 0 = 2 , por meio do método da secante. Considere ε = 10 - 5 .

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

Sabemos que a raiz está próxima de 2 , então temos nossa primeira aproximação. Vamos encontrar a segunda:

f 2.1 = - 0.36

f 1.9 = - 1.56

2.1 está mais próximo de zero então ele será nosso segundo chute.

Passo 2

x - 1 = 2

x 0 = 2.1

ε = 10 - 5

Iteração 1 :

x 1 = g x 0 = x - 1 f x 0 - x 0 f x - 1 f x 0 - f x - 1 = 2.156006

Critério de Parada:

x 1 - x 0 = 0.056006 > 10 - 5

f x 1 = 0.037186 > 10 - 5

Como não alcançamos o critério de parada continuamos as iterações.

x 0 = 2.1

x 1 = 2.156006

ε = 10 - 5

Iteração 2 :

x 2 = g x 1 = x 0 f x 1 - x 1 f x 0 f x 1 - f x 0 = 2.150749

Critério de Parada:

x 2 - x 1 = 0.005257 > 10 - 5

f x 2 = 0.001176 > 10 - 5

Como não alcançamos o critério de parada continuamos as iterações.

x 1 = 2.156006

x 2 = 2.150749

ε = 10 - 5

Iteração 3 :

x 3 = g x 2 = x 1 f x 2 - x 2 f x 1 f x 2 - f x 1 = 2.150911