introducción

Se llama raíz o cero de una función \(f\colon I\subseteq\mathbb{R}\to\mathbb{R}\) a todo punto \(x\in I\) que satisface la ecuación \(f(x) = 0\).

Se llama punto fijo de una función \(g\colon J\subseteq\mathbb{R}\to\mathbb{R}\) a todo punto \(x\in J\) que satisface la ecuación \(x = g(x)\).

Ambas ecuaciones son equivalentes entre sí. \[ f(x) = 0\Leftrightarrow x=\underbrace{x-f(x)}_{g(x)} \quad\&\quad x = g(x)\Leftrightarrow\underbrace{x-g(x)}_{f(x)}=0 \]

Es más, toda ecuación no lineal puede reducirse a cualquiera de ellas. Por ejemplo, la ecuación de segundo grado \(x^2 = x+1\) puede reescribirse como ecuación de nivel, \(x^2-x-1 = 0\), o como ecuación de punto fijo, \(x = x^2-1\).

Los métodos numéricos de resolución de ecuaciones no lineales se clasifican en métodos de búsqueda de raíces, cerrados y abiertos, y métodos de punto fijo, si bien estos últimos también suelen entenderse como métodos abiertos. Todos ellos iteran un proceso, el núcleo del método, generando una secuencia de valores a partir de uno o más valores iniciales, la semilla. El objetivo último de estos métodos es que, dada una semilla, la secuencia generada converja a la raíz o punto fijo de la ecuación considerada. Puesto que esto es computacionalmente inviable, la iteración se mantiene hasta que cierta tolerancia es alcanzada, bien en espacio, bien en valor, o hasta que un número máximo de iteraciones se ha sobrepasado.

for i = 1:MaxIter
    x(k+1) = methodCore(fun,x(k),x(k-1),params);
    if  abs(x(k+1)-x(k)) < TolX || abs(fun(x(k+1))) < TolFun
        break;
    end
end