Método de la secante

En análisis numérico el método de la secante es un método para encontrar los ceros de una función de forma iterativa.

Es un método de tipo abierto, el cual requiere de dos puntos iniciales, los cuales pueden ser arbitrarios. Lo que hace básicamente, es trazar rectas secantes a la curva de la ecuación que se esta analizando, y verificar la intersección de dichas rectas con el eje de las X para conocer si es la raíz que se busca.

Al ser un método abierto, converge con la raíz con una velocidad semejante  a la de Newton-Raphson, aunque de igual forma corre el riesgo de no converger con esta nunca. 

Su principal diferencia con el método de Newton-Raphson es que no se requiere obtener la derivada de la función para realizar las aproximaciones, lo cual facilita las cosas al momento de crear un código para encontrar raíces por medio de este método.


Consideremos la curva y=f(x), y la recta que pasa por los puntos A(a,f(a)) y B(b,f(b)). Si la función continua y=f(x) es tal que f(x)=0 posee una única raíz a en el intervalo (a,b), y f(a) y f(b) tienen signos opuestos, la cuerda AB cortará al eje OX en un punto X1 del intervalo (a,b), que junto con A ó B formará el nuevo intervalo (a1,b1).
  
El método de la secante consiste en ir aproximando el valor de la raíz buscada a mediante las sucesivas intersecciones con el eje OX de la cuerda que une dos puntos cuyas ordenadas son de signos distintos.

Este método, a diferencia del de bisección y regla falsa, casi nunca falla ya que solo requiere de 2 puntos al principio, y después el mismo método se va retroalimentando.

Lo que hace básicamente es ir tirando rectas secantes a la curva de la ecuación que se tiene originalmente, y va chequeando la intersección de esas rectas con el eje de las X para ver si es la raíz que se busca.


Una forma de evitar el cálculo de f '(x) consiste en considerar como aproximación a la derivada la recta que pasa por los valores de 2 iteraciones sucesivas (estima la tangente) es decir, la pendiente de la recta)
Esta variante se conoce con el nombre de método de la Secante. Sustituyendo esta expresión en la ecuación del método de Newton, se obtiene la expresión del método de la secante que proporciona el siguiente punto de iteración:

                                     Representación geométrica de las iteraciones al aplicar el método de la secante

La sucesión queda expresada en términos generales como:
A partir de ciertos valores x0 y x1 dados. El algoritmo deberá parar cuando |xn+1 − xn| sea menor que la precisión requerida. Obviamente, para poder arrancar el método se necesitan dos valores iniciales.

Primero hay que definir algunos conceptos como:
xn                Es el valor actual de X
xn−1            Es el valor anterior de X
xn+1            Es el valor siguiente de X

Como su nombre lo dice, este método va trazando rectas secantes a la curva original, y como después del primer paso no depende de otras cantidades sino que solito va usando las que ya se obtuvieron, casi nunca falla porque se va acomodando y hará que encuentra la raíz.

Lo primero que se hace, igual que con otros métodos es dar 2 puntos cualesquiera que sean sobre el eje de las X que se llaman A y C.
Después se sustituyen esos puntos en la ecuación original para obtener f(A) y f(C). Una vez que se tienen todos esos datos se obtiene el punto B con la fórmula

B=((Af(C))-(C(f(A)))/(f(C)-f(A)).

A diferencia del resto de los métodos, aquí no hay que acomodar en columnas  cada uno de los datos, sino que se utiliza la simplificación de conceptos y como se simplifica la formula para seguir con el método.
Aquí solo se usan 2 columnas, una de xn y otra de f (xn ) .

Ejemplo

Usar el método de la secante para calcular la raiz aproximada de la función
f (x) = x2 − 4 . Comenzando con x0 = 4 , x1 = 3 y hasta que ∈r ≤1% .

Aplicando para la primera iteración con la fórmula


se tendría un valor para x2 = 2.2857 . Si se calcula el error relativo con los valores x2 como valor real y x1 como valor aproximado se tendrá:

Primera iteración aplicando el método de la secante de la función f (x) = x2 − 4


Ahora si se calcula en una segunda iteración
se tendría un valor para x3 = 2.0541, con un error relativo
Ahora si se continúa realizando los cálculos iterativamente, se tendrán valores como los mostrados en la siguiente tabla.
Resultados al aplicar el método de la Secante a la función


Métodos Numéricos con Octave

Método de la Secante
El método de la secante es un método que permite evaluar las raices de funciones cuya derivada es difícil de calcular. En dichos casos, la derivada se puede aproximar mediante una diferencia nita dividida hacia atrás. Y se obtiene de este modo la siguiente fórmula iterativa.

Código
function [p1,y1,err,P] = secant(p0,p1,delta,max1)
f = input("ingrese f(x): ", "s");
f = inline(f);
epsilon = 1.0842e-19;
P(1) = p0;
P(2) = p1;
P(3) = 0;
P(4) = 0;
P(5) = 0;
P(6) = 0;
y0 = feval(f,p0);
y1 = feval(f,p1);
for k=1:max1,
df = (y1-y0)/(p1-p0);
if df == 0,
dp = 0;
else
dp = y1/df;
end
p2 = p1 - dp;
y2 = feval(f,p2);
err = abs(dp);
relerr = err/(abs(p2)+eps);
p0 = p1;
y0 = y1;
p1 = p2;
y1 = y2;
P = [P;p0 p2 p1 y1 err relerr];
if (err
end
disp(' P0 P2 Xi F(Xi) ErrAbs ErrorRelativo');
disp(P);
disp('Error Absoluto:');
disp(err);
disp('Error Relativo:');
disp(relerr);
end
Método de la secante en matlab
function a =secante(fun,x0,x1,tol,maxiter)
% Aproxima por el método de la secante una raiz de la ecuacion fun(x)=0
%cercana a x0, tomando como criterio de parada abs(fun(x))
%el numero de iteraciones dada  por maxiter. 
%
% Variables de entrada:
%     fun: funcion a calcular la raiz, se introduce en modo simbolico 'fun'   
%     x0, x1: estimaciones iniciales para el proceso de iteración
%     tol: tolerancia en error absoluto para la raiz
%     maxiter: maximo numero de iteraciones permitidas
%
% Variables de salida:
%     a: valor aproximado de la raiz
fprintf(1, 'Metodo de la secante \n');
f0=subs(fun,x0); 
f1=subs(fun,x1);
iter=1;
while(abs(f1)>tol) & (iter
 a = x1-f1*((x1-x0)/(f1-f0));           % formula de iteracion
   f0=f1; f1=subs(fun,a);   %Actualiza f0 y f1 
   fprintf(1, 'iter= %i, a= %x0,f= %e  \n', iter,a ,f1)
 iter = iter + 1;                             % Cuenta los pasos
 x0=x1; x1=a;   % actualiza x
end
% Salida

BIBLIOGRAFÍA
http://descartes.cnice.mec.es/materiales_didacticos/resolucion_numerica_de_ecuaciones/secante.htm




Category: 2 comentarios

2 comentarios:

Luis Antonio dijo...

Por favor mayor trabajo en equipo y mejor coordinación y sin improvisaciones

Unknown dijo...

SEGA GENESIS - GAN-GAMING
SEGA GENESIS. งานออนไลน์ GENESIS-HANDS. Genesis (JP-EU). NA. NA. NA. goyangfc SEGA 출장샵 GENESIS-HANDS. NA. https://sol.edu.kg/ SEGA GENESIS. NA. GENESIS-HANDS. dental implants NA.

Publicar un comentario