Página web del curso

Método de la secante

El método de la secante se puede considerar una variante del método de Newton en el que se sustituye la derivada por una aproximación.

Podemos definir la derivada de una función $f$ en un punto $a$

$$f'(a)=\lim_{h\rightarrow 0}\frac{f(a+h)-f(a)}{h}$$

Y si tomamos $x=a+h$ entonces $h=x-a$

$$f'(a)=\lim_{x\rightarrow a}\frac{f(x)-f(a)}{x-a}$$

o también

$$f'(a)=\lim_{x\rightarrow a}\frac{f(a)-f(x)}{a-x}$$

si $a = x_{k-1}$ y $x = x_{k-2}$

$$f'(x_{k-1})=\lim_{x_{k-2}\rightarrow x_{k-1}}\frac{f(x_{k-1})-f(x_{k-2})}{x_{k-1}-x_{k-2}}$$

Y quitando el límite obtenemos la fórmula de diferencias divididas

$$f'(x_{k-1})\approx \frac{f(x_{k-1})-f(x_{k-2})}{x_{k-1}-x_{k-2}}$$

Y si en la fórmula del método de Newton

$$x_k=x_{k-1}-\dfrac{f(x_{k-1})}{f'(x_{k-1})}$$

sustituimos la derivada por su aproximación

$$x_k=x_{k-1}-f(x_{k-1})\dfrac{x_{k-1}-x_{k-2}}{f(x_{k-1})-f(x_{k-2})}$$

Gráficamente, el método de la secante se puede explicar como un método iterativo donde

  • La curva se sustituye por una recta que pasa por dos de sus puntos (recta secante)
  • Se aproxima la raíz de la curva con la raíz de la recta.
  • Se descarta el punto más antiguo (¡importante!) y se traza una nueva secante con el punto que nos queda más el último punto calculado.
  • Repetimos hasta que se cumpla una condición de parada.

Es decir, empezamos con

  • $x_0$ y $x_1$ y obtenemos $x_2.$

Seguimos con

  • $x_1$ y $x_2$ y obtenemos $x_3.$

y así sucesivamente.

Algoritmo

  • Sean $x_0$ y $x_1$ los puntos iniciales.
  • Para $k=2,3\ldots,\mathrm{MaxNumIter}$:
    • Calcular $x_k=x_{k-1}-f(x_{k-1})\dfrac{x_{k-1}-x_{k-2}}{f(x_{k-1})-f(x_{k-2})}$
    • Si $x_k$ satisface el criterio de parada, parar.
    • En el caso contrario, hacer otra iteración.

Inconvenientes

  • Necesitamos dos puntos iniciales.
  • En general, converge más lentamente que Newton (pero más rápidamente que bisección).
  • Si no seleccionamos bien los puntos iniciales, puede no converger.

Ventajas

  • No necesitamos conocer la derivada exacta, solo el valor de la función.
  • La velocidad de convergencia es relativamente rápida. El orden de convergencia es $p\approx1.6$

Ejercicio

Aproximar utilizando el método de la secante $r=\sqrt{3}.$ Utilizar como puntos iniciales $x_{0}=1$ y $x_{1}=2$. Realizar 3 iteraciones.

Nuestra ecuación es

$$x=\sqrt{3} \quad \Rightarrow \quad x^2=3 \quad \Rightarrow \quad x^2-3=0$$

Por lo tanto $f(x)=x^2-3$

La función de iteración viene dada por

$$x_k=x_{k-1}-f(x_{k-1})\dfrac{x_{k-1}-x_{k-2}}{f(x_{k-1})-f(x_{k-2})}$$

En este caso

$$x_k=x_{k-1}-(x_{k-1}^2-3)\dfrac{x_{k-1}-x_{k-2}}{(x_{k-1}^2-3)-(x_{k-2}^2-3)}$$

Iteraciones

  • $x_0=1$, $x_1=2$ $$x_2=x_{1}-(x_{1}^2-3)\dfrac{x_{1}-x_{0}}{(x_{1}^2-3)-(x_{0}^2-3)}=2-(2^2-3)\dfrac{2-1}{(2^2-3)-(1^2-3)}$$
$$x_2=2-(1)\dfrac{1}{(1)-(-2)}=2-\dfrac{1}{3}=1.666667$$
  • $x_1=2$, $x_2=1.666667$, $$x_3=x_{2}-(x_{2}^2-3)\dfrac{x_{2}-x_{1}}{(x_{2}^2-3)-(x_{1}^2-3)}$$
$$x_3=1.666667-(1.666667^2-3)\dfrac{1.666667-2}{(1.666667^2-3)-(2^2-3)}=1.727273$$
  • $x_2=1.666667$, $x_3=1.727273$, $$x_4=x_{3}-(x_{3}^2-3)\dfrac{x_{3}-x_{2}}{(x_{3}^2-3)-(x_{2}^2-3)}$$
$$x_4=1.727273-(1.727273^2-3)\dfrac{1.727273-1.666667}{(1.727273^2-3)-(1.666667^2-3)}=1.732143$$
\begin{array}{|cc|} \hline k & x_k \\ \hline 0 & 1.000000\\ 1 & 2.000000\\ 2 & 1.666667\\ 3 & 1.727273\\ 4 & 1.732143\\ \hline \end{array}

Calcular el residuo.

El valor de la función en la raíz es cero. El valor de la función en la aproximación se llama residuo y, si es una buena aproximación, es un número pequeño

$$r =|f(x_4)|=|1.732143^2-3|=0.0003$$

El residuo en el paso $k$, es conocido, mientras que el error es desconocido (necesitamos la raíz exacta, que es lo que estamos buscando).

Usar la calculadora para estimar el error absoluto de la aproximación.

Como $\alpha= 1.732051$ el error absoluto es

$$e_a = |x_4-\alpha|=|1.732143-1.732051|=0.000092\approx 0.0001$$