Está en la página 1de 12

Método Punto Fijo.

Un punto fijo de una función g(x) es un número real x tal que: x = g(x), está definición
constituye la base del método de punto fijo y puede utilizarse para resolver funciones del
tipo f(x)=0. Entonces, apartir de la ecuación f(x)=0, se obtienela forma x=g(x), esto se
puede lograr de dos formas:
1) Simplemente despejando alguna x de f(x)=0.

2) Sumando x a ambos miembros de la ecuación f(x)=0, se tendrá, x=x+f(x), de donde


g(x)=x+f(x). Es necesario observar que la función g(x) para un problema particular
f(x)=0 no es única.
Por ejemplo, para el caso de la función f(x)=x+ln(x):

1) Despejando x se obtiene x=-ln(x), de donde g(x)=-ln(x) Por otra parte, se puede


aplicar la exponencial en ambos miembros de donde resulta x=e-x de donde se
obtiene g(x)=e-x

2) Sumando x en ambos miembros en x+ln(x)=0 → x+ln(x)+x=0+x al despeja x


resulta x=2x+ln(x) de donde se obtiene: g(x)=2x+ln(x).

El método de punto fijo requiere de un punto inicial x0, para iniciar el proceso de búsqueda
de la raíz, posteriormente se aplica iterativamente la regla xi=g(xi-1)
x1=g(x0)
x2=g(x1)
x3=g(x2)
...
El proceso termina cuando se satisfaga la aproximación deseada mediante el error
propuesto o en algunos casos hasta encontrar el punto fijo de manera exacta.

Gráficamente el método de punto fijo se puede representar como la intersección de


dos curvas, una formada con y=x ( f u n c ió n id e n t id a d ) y otra con y=g(x) (función
recursiva); la raíz de f(x)corresponde con la abscisa del punto de intersección de ambas
funciones (punto fijo). La siguiente figura muestra el proceso de convergencia hacia el
punto fijo.
En la figura se parte de un valor x0 y se evalúa x1=g(x0), que corresponde a trazar una
línea vertical hacia la función g(x); Se toma el valor de x1 como nueva aproximación, que
equivale gráficamente, a trazar una línea horizontal hasta intersectar con la función
identidad, se repite el proceso, ahora evaluando x2=g(x1), para obtener el valor de x2,
trazandouna línea vertical sobre x1 hasta g(x) y otra línea horizontal hacia la recta y=x.
Trazar una línea vertical hacia la función g(x) desde el punto x2, representa evaluar g(x) en
x2, para obtener x3, esto es: x3=g(x2), al trazar la línea horizontal hasta y=x se toma como
nuevo valor a x3. El proceso anterior se repitehasta lograr la aproximación deseada.
Cálculo del error:
En este método se emplea una ecuación recursiva, que cada vez que se evalúa se espera
como resultado, un valor más próximo al valor verdadero de la raíz, de manera que xi+1 es
una mejor aproximación que xi, por lo que el error absoluto aproximado se calcula como:

Ea =|x i+1−x i|

Algoritmo de punto fijo:


Para obtener un valor aproximado de la solución de f(x) por el método de punto fijo
se realizan los siguientes pasos:
1. Obtener la gráfica de f(x), a fin de observar su forma y ubicar visualmente las raíces
de la función.
2. Obtener la función recursiva g(x), despejando x en f(x )ó sumando x a f(x)=0.
3. Proponer un valor x0 aproximado a la raíz r.
4. Calcular la primera aproximación a la raíz con xi+1=g(xi).
5. Calcular el error, considerando xi+1 como mejor aproximación que xi, a la
raíz:
E=|x i+1−x i|
6. Comparar el valor del error E con la tolerancia Tol especificada previamente, en
caso de no cumplirse E<Tol regresar al paso 4, hasta cumplir con la tolerancia.
7. Puede darse el caso que la función g(x) diverja del punto fijo, en cuyo caso el error
absoluto aproximado se va haciendo más grande y se tendrá que cambiar la función
recursiva g(x).

Los resultados de la aplicación del algoritmo de punto fijo, se pueden resumir


en un tabla:

No. de iteración Xi Xi+1=g(xi) Ea


1 X0 X1=g(x0) Ea =|x 1−x 0|
2 X1 X2=g(x1) Ea =|x 2−x 1|
Ejemplo:
Encontrar la raíz de
f ( x )=5 x +3 cos ⁡( x)

Utilizando de método de punto fijo. (Graficar de -3 a 3 con incrementos de 0.01)

Tol=0.001

g(x)= -3/5*cos(x)

clc; close all;


clear;
tol=0.001;
syms x
f=5*x+3*cos(x);
X=-3:0.01:3;
Y=double(subs(f,X));
plot(X,Y), grid on
hold on
plot (X,zeros(size(X)),'k')
15

10

-5

-10

-15

-20
-3 -2 -1 0 1 2 3

g=-3/5*cos(x);
figure
plot(X,subs(g,X),'m'), grid
hold on
plot(X,X,'r')
3

-1

-2

-3
-3 -2 -1 0 1 2 3

xo=2
x1=double(subs(g,xo));
e=abs(x1-xo)
%iteraciÛn 2
x2=double(subs(g,x1));
e=abs(x2-x1)
%IteraciÛn 3
x3=double(subs(g,x2));
e=abs(x3-x2)
%IteraciÛn 3
x4=double(subs(g,x3));
e=abs(x4-x3)
%IteraciÛn 4
x5=double(subs(g,x4));
e=abs(x5-x4)
%IteraciÛn 6
x6=double(subs(g,x5));
e=abs(x6-x5)
%IteraciÛn 7
x7=double(subs(g,x6));
e=abs(x7-x6)

No. de iteración Xi Xi+1=g(xi) Ea


1 X0=2 X1=g(x0)=0.2497 1.7503
2 X1 X2= -0.5814 0.8311
3 X2 X3= -0.5014 0.0800
4 X3 X4= -0.5261 0.0247
5 X4 X5= -0.5189 0.0073
6 X5 X6= -0.5210 0.0022
7 X6 X7= -0.5204 6.5x10^-4
Método Newton Raphson
El método de Newton-Raphson es uno de los más poderosos y utilizados para
encontrar raíces de funciones de la forma f(x)=0,además, estas raíces pueden ser reales o
complejas. La idea básica del método de Newton-Raphson,está basado en aproximar la
función f(x) mediante una recta tangente de forma en que se muestra en la figura 1.

Yo tengo x0 y f(x)

' Δ y y 1 − y 0 0−f ( x 0 )
f ( x 0 )=m= = =
Δ x x1 −x0 x 1−x 0

'
−f ( x0 )
f ( x 0 )=
x 1−x 0

Despejando x1

f ' ( x 0 ) ( x 1−x 0 )=−f ( x 0 )


−f ( x0 )
( x 1−x 0 )=
f ' ( x0 )

f ( x0 )
x 1=x 0−
f ' ( x0 )

Por lo tanto de forma general:

f ( xi )
x i+1=x i−
f ' ( xi )

e=|x i +1−x i|

Pasos
1. Graficar la función en el intervalo apropiado y definir una primera aproximación a
la raíz (x0).
2. Aplicar la fórmula de Newton-Raphson para calcular la siguiente aproximación de
la raíz.
3. Calcular el error de la aproximación.
4. Repetir los pasos 2 y 3 hasta que el error calculado sea menor o igual a la tolerancia
indicada.
Ejemplo:
Encuentra la raíz de la siguiente función utilizando el método de Newton-Raphson con una
tolerancia de 1x10-4.

h ( x )=1 x 10−5 e x −10

clc; clear; close all

format long

f = inline('1e-5*exp(x) - 10');
x = 5 : 0.0001 : 15;
y = f(x);
plot(x,y)

%Graficando el eje x
hold on
plot(x, zeros( size(x) ), '-k')

%Definiendo la primer aproximación


x1=14.5;

%Calculando la primer derivada


syms x
f1=diff(f(x),1);
f1=inline(f1);

%Calulando la segunda aproximación


x2=x1-f(x1)/f1(x1)
e=abs(x2-x1)

%Calulando la tercera aproximación


x3=x2-f(x2)/f1(x2)
e=abs(x3-x2)

%Calulando la cuarta aproximación


x4=x3-f(x3)/f1(x3)
e=abs(x4-x3)

%Calulando la quinta aproximación


x5=x4-f(x4)/f1(x4)
e=abs(x5-x4)

%Calulando la sexta aproximación


x6=x5-f(x5)/f1(x5)
e=abs(x6-x5)

i xi e
1 14.5 -
2 14.0043 0.4957
3 13.8323 0.1721
4 13.8157 0.0166
5 13.8155 1.3963x10-4
6 13.81551056 9.7495x10-9

Ejercicio
La concentración de una bacteria contaminante en un líquido disminuye a lo largo del
tiempo según la expresión:

c ( t ) =80 e−2 t +20 e−0.5t


Donde t es el tiempo en horas. Por medio del método de Newton-Raphson determina el
tiempo necesario para que el número de baterías se reduzca a 7, con un error menor a
0.0001.

c es la concentración de la bacteria en función del tiempo


Nos está solicitando en qué instante del tiempo c=7

7=80 e−2 t +20 e−0.5t

Recordando que la raíz es el valor en x en el cual f(x)=0

80 e−2 t +20 e−0.5 t −7=0

clc; clear; close all


format long
f = inline('80*exp(-2*x)+20*exp(-0.5*x) - 7');
x = 0 : 0.0001 : 15;
y = f(x);
plot(x,y), grid
%Graficando el eje x
hold on
plot(x, zeros( size(x) ), '-k')
%Definiendo la primer aproximaciÛn
x0=2;
syms x
f1=diff(f(x),1);
f1=inline(f1);
%Calculando la segunda aproximación
x2=x1-f(x1)/f1(x1)
e=abs(x2-x1)
%Calculando la tercera aproximación
x3=x2-f(x2)/f1(x2)
e=abs(x3-x2)
%Calculando la cuarta aproximación
x4=x3-f(x3)/f1(x3)
e=abs(x4-x3)
%Calculando la quinta aproximación
x5=x4-f(x4)/f1(x4)
e=abs(x5-x4)

i xi e
1 2 -
2 2.275799383 0.2757
3 2.327680959 0.05188
4 2.329086637 0.0014
5 2.329087617 9.8019x10-7

En el tiempo 2.329087617 h la concentración de las bacterias es igual a 7

También podría gustarte