Métodos iterativos para resolver x=g(x)

Métodos iterativos para resolver x=g(x)

 

Necesitamos una regla, fórmula o función g(x) con la cual calcularemos temimos sucesivos, para un valor de partida P0. Lo que se produce es una sucesión de valores  {Pk} obtenida mediante el proceso iterativo Pk+1= g(Pk). La sucesión se ajusta al siguiente patrón:

 

P1= g(P0)

P2= g(P1)

P3= g(P2)

 

 

Pk+1= g(Pk)

 

Lo que podemos observar de ésta sucesión es que si Pk+1->Pk la sucesión converge a un valor, pero en el caso de que Pk+1 no tienda a Pk  tenemos una sucesión divergente.

 

Ejemplo.

 

x = Ax con P0=1

 

P1= A

P2= A*A=A2

P3= A* A2= A3

...

Pk= Ak

 

Métodos de punto fijo.

 

Un punto fijo de una función g(x) es un número real P tal que P=g(P). Geométricamente hablando, los puntos fijos de una función g(x) son los puntos de intersección de la curva y=g(x) con la recta y=x.

 

Ejemplo.

 

Consideremos la función x=e-x y damos un valor inicial P0 = 0.5

 

P1= e-0.5 = 0.606531

P2= 0.545339

P3= 0.579703

...

Pk=0.567143

 

La solución en Java para este algoritmo es:

 

/**

 * <p>Title: Iteracion de punto fijo</p>

 * <p>Description: resuelve una ecuacion por el método de punto fijo</p>

 * <p>Copyright: Copyright (c) 2003</p>

 * <p>Company: UMSNH</p>

 * Dr. Felix Calderon Solorio.

 * @version 1.0

 */

 

public class ej018 {

  static public void main(String args[])

  {

    int iter = 0;

 

    double x0, x1;

 

    x0 = x1 = 0.5;

 

    do

    {

      System.out.println("X("+iter+")= " + x1);

      x0 = x1;

      x1 = Math.exp(-x0);

      iter ++;

    }while (Math.abs((x0-x1)/x1) > 0.001);

  }

}

 

Solución de Sistemas no lineales.

 

Consideremos el caso de la funciones :

 

f1(x,y) = x2 – 2x – y +0.5

f2(x,y) = x2 + 4y2 – 4

 

y queremos encontrar un método para resolver

 

f1(x,y) =0 y  f2(x,y) = 0

 

Podemos resolver el sistema, utilizando el método de iteración de punto fijo. Para ello despejamos de la ecuación 1 a x:

 

x = (x2 – y +0.5)/2

 

A la segunda ecuación agregamos un término

 

x2 + 4y2 –8y – 4=- 8y

y= (-x2 -4y2 +8y + 4)/8

 

De esto tenemos un sistema en sucesión dado por:

 

xk+1 = (xk2 – yk +0.5)/2

yk+1= (-xk2 -4yk2 +8yk + 4)/8

 

La solución de esta sucesión para un valor inicial [0,1] es:

 

k

X

y

0

0.0000

1.0000

1

-0.2500

1.0000

2

-0.2188

0.9922

3

-0.2222

0.9940

4

-0.2223

0.9938

5

-0.2222

0.9938

6

-0.2222

0.9938

 

Regresar.