Diferencia entre revisiones de «Método de la secante»

Contenido eliminado Contenido añadido
FSDmar (discusión · contribs.)
m Enlaces
Línea 1:
[[Archivo:Secant method.svg|thumb|Dos primeras iteraciones del método de la secante.]]
En [[análisis numérico]] el '''método de la secante''' es un método para [[Resolución numérica de ecuaciones no lineales|encontrar los ceros]] de una función de forma [[Iteración|iterativa]].
 
Es una variación del [[método de Newton-Raphson]] donde en vez de calcular la [[derivada]] de la función en el punto de estudio, teniendo en mente la definición de derivada, se aproxima la pendiente a la recta que une la función evaluada en el punto de estudio y en el punto de la iteración anterior. Este método es de especial interés cuando el coste computacional de derivar la función de estudio y evaluarla es demasiado elevado, por lo que el [[método de Newton]] no resulta atractivo.
 
En otras palabras, el método de la secante es un [[algoritmo]] de la raíz de investigación que utiliza una serie de raíces de las líneas secantes para aproximar mejor la raíz de una función f. El método de la secante se puede considerar como una aproximación en diferencias finitas del [[método de Newton-Raphson]]. Sin embargo, este método fue desarrollado independientemente de este último.
 
== El método ==
Línea 28:
La fórmula de recurrencia del método de la secante se puede derivar de la fórmula para el método de Newton-Raphson:
:<math>x_n = x_{n-1} - \frac{f(x_{n-1})}{f'(x_{n-1})} . </math>
utilizando la aproximación de [[Diferencia finita|diferencias finitas]]:
:<math> f'(x_{n-1}) \approx \frac{f(x_{n-1})-f(x_{n-2})}{x_{n-1}-x_{n-2}}. </math>
Si comparamos el método de Newton-Raphson con el método de la secante, vemos que el método de Newton-Raphson converge más rápido (para 2 en contra α ≈ 1,6). Sin embargo, el método de Newton-Raphson requiere la evaluación de ambos f y su derivada en cada paso, mientras que el método de la secante sólo requiere la evaluación de f. Por lo tanto, el método de la secante puede muy bien ser más rápido en la práctica.
Línea 69:
 
==Código en Java==
Programa escrito en '''[[Java (lenguaje de programación)|Java]] '''correspondiente al ejemplo ''f(x) = exp( x ) - ( 2 * x^3 )''
<source lang=java>
 
Línea 128:
== Código en Fortran 90 ==
 
Programa escrito en '''[[Fortran|Fortran 90]]''' correspondiente al ejemplo ''f''(''x'') = ''x''<sup>3</sup> + 2''x''<sup>2</sup> + 10''x'' - 20
<source lang="fortran">
PROGRAM Metodo_Secante
Línea 177:
 
== Código en Matlab ==
Programa escrito en [[MATLAB|Matlab]] para ejecutar el método de la secante.
 
<source lang="matlab">