MÉTODO MATEMÁTICO
Uma grande desvantagem do Método das Tangentes ou Newton-Raphson é a necessidade do cálculo de derivadas. Uma maneira de contornar este problema é substituir a derivada por uma diferença do tipo
,
onde e são duas aproximações da raiz desejada. Fazendo esta substituição no Método de Newton-Raphson temos o Método das Secantes. Em geral, o Método das Secantes é mais lento que o Método de Newton-Raphson.
Dadas as aproximações iniciais e (chutes iniciais), a seqüência gerada no método das secantes é dada por
, ...
e converge para a raiz procurada.
Neste procedimento (simples) você entra com a função f , com as aproximações iniciais e e o número de iterações N.
> restart:
> Msecante:=proc( f, x0, x1, N)
> local a , b , c, n:
> a:=evalf(x0): b:=evalf(x1):
> for n from 1 to N do
> c:= ( a*f(b)-b*f(a) )/( f(b)-f(a)):
> a:=b: b:=c:
> od:
> print(`Solução Aproximada após `, N-1,`iterações é :`, c)
> end:
Exemplos
Exemplo 1: use o metodo das secantes para determinar uma aproximação para a rais de no intervalo [2,2.5].
> f:=x->x^3-2*x^2+2*x-5; #tem raiz em [2,2.5].
> plot(f(x), x=1..3, title=`localizando a raiz`);
> Msecante(f,2.5,2,5);
Exemplo2:
> g:=x->x^3-x^2-1; #tem raiz em [1,2].
> plot(g(x),x=1..2);# veja o gráfico
> Msecante(g,1,2,6);
> p:=x->230*x^4+18*x^3+9*x^2-221*x-9; #tem raiz em [-1,0] e [0,1]
> plot(p(x),x=-.5..1);
> Msecante(p,0,1,6);
>