2.1 METODO DE BISECCION

En general, si f(x) es real y continua en el intervalo que va desde x1 hasta xu y f(xl) y f(xu) tienen signos opuestos, es decir f(xl) f(xu) < 0 entonces hay al menos una raíz real entre xl y xu .
El método de bisección, conocido también como de corte binario, de partición de intervalos o de Bolzano, es un tipo de búsqueda incremental en el que el intervalo se divide siempre a la mitad. Si el valor de la función cambia de signo, sobre un intervalo, se evalúa el valor de la función en el punto medio. La posición de la raíz se determina situándola en el punto medio del subintervalo, dentro del cual ocurre un cambio de signo. El proceso se repite hasta obtener una mejor aproximación.
Paso 1: Elija valores iniciales inferior, x1, y superior, xu, que encierren la raíz, de forma que la función cambie de signo en el intervalo. Esto se verifica comprobando que f(xl) f(xu) < 0
Paso 2: Una aproximación de la raíz x1 se determina mediante:
Paso 3: Realice las siguientes evaluaciones para determinar en que subintervalo está la raíz:
external image Image3.gif

  1. Si f(xl) f(xr) < 0 , entonces la raíz se encuentra dentro del subintervalo inferior o izquierdo. Por tanto, haga xu = xr y vuelva al paso 2.
  2. Si f(xl) f(xr) > 0, entonces la raíz se encuentra dentro del subintervalo superior o derecho. Por lo tanto, haga xl= xr y vuelva al paso 2.
  3. Si f(xl) f(xr) = 0, entonces la raíz es igual a xr;
  4. termina el cálculo.


Ejemplo:

Planteamiento del problema.
Emplee el método de bisección para resolver la ecuación f(x)=(667.38/x)*(1-exp(-0.146843 x))-40
Solución.
Primera iteración:
x1= 12; xu = 16
xr= (12+16)/2=14f(12) f(14) = (6.067)(1.569) = 9.517 > 0


No hay cambio de signo entre el límite inferior y el punto medio. En consecuencia la raíz debe estar localizada entre 14 y 16.
Segunda iteración:
x1= 14; xu = 16
xr= (14+16)/2 = 15

f(14)f(15)=(1.569)(-0.425) =-0.666< 0
Tercera iteración:
xl= 14; xu=15
xr=(14+15)/2 =14.5




2.1.1 Criterios de paro y estimaciones de errores


Un criterio objetivo de definir cuándo un método numérico debe terminar, es estimar el error de forma tal que no se necesite el conocimiento previo de la raíz. Como se estudió previamente, se puede calcular el error relativo porcentual εa de la siguiente manera


Ejemplo
Planteamiento del problema.

Continuar con el ejemplo anterior hasta que el error aproximado sea menor que el criterio de terminación εs= 0.5%.

Solución.
Tomando las dos primeras iteraciones,
xrnuevo 15; xranterior =14
|εa|= | (15-14) / 15 | = 0.0667 ≡6.667%

iteracion
X1
Xu
Xr
ea(%)
et(%)
1
12
16
14

5.279
2
14
16
15
6.667
1.487
3
14
15
14.5
3.448
1.896
4
14.5
15
14.875
1.695
0.204
5
14.75
15
14.875
0.840
0.641
6
14.75
14.875
14.8125
0.422
0.219

2.1.2 Algoritmo de la bisección.

Algoritmo del Método de Bisección
Algoritmo del Método de Bisección


Diagrama de flujo y grafica correspondiente a la implementación del método de la Bisección.
Gráfica del Metodo de Bisección
Gráfica del Metodo de Bisección




2.1.3 Minimización de las evaluaciones de una función


El siguiente código en lenguaje de MatLab imprime las iteraciones por el Método de bisección:
function x = biseccion(fun,a,b,tol)
% Aproxima por el método de la bisección una raíz de la ecuación fun(x)=0
disp('Método de la bisección');
u=feval(fun,a);
v=feval(fun,b);
n=1;
if sign(u)==sign(v)
disp('Error la función debe cambiar de signo en (a,b)');

end

while ((b-a)*0.5>=tol)

c=(b+a)/2; w=feval(fun,c);
disp(['n=', num2str(n)]);
disp(['c=', num2str(c)]);
disp(['f(c)=', num2str(w)]);

if sign(u)==sign(w)
a = c; u=w;
else
b=c; v=w;
end
n=n+1;
end;
x=c;


El siguiente código en lenguaje C++, imprime las iteraciones por el Método de bisección:

para la función x^3+4x^2-10
#include <iostream>
#include <cmath>
using namespace std;
double f(double x);
double biseccion ( double a, double b, double tol, int maxlter);
int main()
{

double a, b, tol, raiz;
int maxlter;
cout<< "por favor digite a: ";
cin>>a;
cout<< "por favor digite b: ";
cin>>b;
cout<< "por favor digite tol: ";
cin>>tol;
cout<< "por favor digite maxlter: ";
cin>>maxlter;
raiz=biseccion(a,b,tol,maxlter);
cout<<"La raiz es: "<< raiz <<endl;
system("pause");
return 0;

}

double f(double x)

{

return x*x*x+4*x*x-10;

}

double biseccion(double a, double b, double tol, int maxlter)

{

double c;
int nolter=0;
do

{

c=(a+b)/2;
if(f(a)*f(c)<0)

{
b=c;
}

else

{
a=c;
}

cout<<nolter<<"\t"<<a<<"\t"<<b<<"\t"<<c<<"\t"<<f(c)<<endl;
nolter++;

}

while((abs(f(c))>tol)&&(nolter<maxlter));
return c;

}








2.2 METODO DE LA FALSA POSICION


Una técnica alternativa al método de bisección, consiste en unir f(xl) y f(xu) con una línea recta. La intersección de esta línea con el eje de las x representa una mejor aproximación de la raíz. El hecho de que se remplace la curva por una línea recta da una falsa posición de la raíz; de aquí el nombre de método de la falsa posición, o en latín regula falsi. También se la conoce como método de interpolación lineal.

formula de la Falsa Posición
formula de la Falsa Posición

Esta es la formula que se utiliza en la Falsa Posicición.
external image 0001527862.png





2.2.1 Falsa posición modificada


Una forma de disminuir la naturaleza unilateral de la falsa posición consiste en obtener un algoritmo que detecte cuando se estanca uno de los límites del intervalo. Si ocurre esto, se divide a la mitad el valor de la función en el punto de estancamiento. A éste método se le llama método de la falsa posición modificado.
FUNCTION ModFalsePos(xl,xu,es, imax, xr)
iter = 0
fl = f(xl)
fu = f(xu)
DO
xrold = xr
xr = xu-fu*(xl -xu)/(fl -fu)
fr = f(xr)
iter = iter+1
IFxr<>0 THEN
ea = Abs((xr-xrold)/xr)*100
END IF
test = fl * fr
IF test < 0 THEN
xu = xr
fu = f(xu)
iu = 0
il = il+1
IF il ≥2 THENfl = fl / 2
ELSE IFtest > 0 THEN
xl = xr
fl= f(xl)
il= 0
iu= iu+1
IFiu ≥2 THENfu = fu/2
ELSE
ea = 0
END IF
IFea < es ORiter ≥imax THEN EXIT
END DO
ModFalsePos = xr
ENDModFalsePos
En esta figura se muestra la representación gráfica del método de la falsa posición; donde se puede observar que una vez iniciado el proceso iterativo, uno de los extremos del intervalo puede quedarse fijo.



external image 000306139.png


Ventajas del método de falsa posición.



  • Siempre encuentra una raíz de la función si se sabe que la raíz existe en un intervalo dado; es decir siempre converge.

  • Casi siempre converge más rápido que el método de bisección.

Desventajas del método de falsa posición.

  • La longitud del sub intervalos que contiene a la raíz en general no tiende a cero, debido a que uno de los extremos de los sub intervalos se aproxima a la raíz, mientras el otro puede permanecer fijo; es decir la longitud del sub intervalo no puede tomarse como un criterio de aproximación a la raíz.

  • Una tarea importante que se debe de realizar antes de aplicar el método es encontrar un intervalo que contenga la raíz buscada, así como verificar que la función sea continua en él. Lo anterior no significa que si no se cumple cualquiera de estos requisitos el método vaya a diverge.




Ejemplo Un caso en el que la bisección es preferible a la falsa posición

Planteamiento del problema.
Con los métodos de bisección y falsa posición, localice la raíz de f(x) = x10-1

Solución.

Usando bisección:


Iteracion
Xl
Xu
Xr
ea(%)
et(%)
1
0
1.3
0.65
100.0
35
2
0.65
1.3
0.975
33.3
2.5
3
0.975
1.3
1.1375
14.3
13.8
4
0.975
1.375
1.05625
7.7
5.6
5
0.975
1.05625
1.015625
4.0
1.6

Con el método de falsa posición


Iteracion
Xl
Xu
Xr
ea(%)
et(%)
1
0
1.3
0.09430

90.6
2
0.0943
1.3
0.18176
48.1
81.8
3
0.18176
1.3
0.26287
30.9
73.7
4
0.26287
1.3
0.33811
22.3
66.2
5
0.33811
1.3
0.40788
17.1
59.2

Figura respectiva al método de la falsa posición


grafica Falsa Posicion
grafica Falsa Posicion



















2.3 METODO DE NEWTON




A partir de la expansión en series de Taylor, se tiene:


external image image002.gif


Que se reordena para obtener:


La cual se conoce como Fórmula De Newton Raphson

external image image004.gif

Ejemplo Método de Newton-Raphson



Planteamiento del problema.



Utilice el método de Newton Raphson para calcular la raíz de f(x)=e-x –x empleando como valor inicial x0= 0


Solución.



La primer derivada de la función es f ’(x)=-e-x -1que se sustituye para obtener


i
xi
et(%)
0
0
100
1
0.500000000
11.8
2
0.566311003
0.147
3
0.567143165
0.0000220
4
0.567143290
<10-8


Ejemplos


external image 1x1.gif
Ejercicios resueltos
En los ejercicios 1 y 2,utilice el método de Newton para calcular la raíz real de la ecuación que se indica (con cuatro cifras decimales). En los ejercicios 3 y 4, use el método de Newton para determinar, redondeando a milésimos, el valor aproximado de la raíz que se indica. En los ejercicios5 y 6, determine el valor del radical que se da con cinco cifras decimales. En el ejercicio 7, utilice el método de Newton para calcular, con cuatro cifras decimales, la coordenada x del punto de intersección en el primer cuadrante de las gráficas de las dos ecuaciones.
external image 149581150.gif
external image 14966f150.gif
external image 149714180.gif
external image 149835180.gif
external image 14990b180.gif
external image 149a0c180.gif
external image 149b81150.gif
external image 1x1.gif
S o l u c i o n e s
external image 1x1.gifexternal image 149c81150.gif

external image 149d301d0.gif
external image 149eff170.gif
external image 1x1.gif
external image 149f75a50.gif


Equation
Equation

external image 14a1e7f60.gif
external image 14a2301d0.gif
external image 1x1.gif

external image 14a414180.gif

Solución:
Como se puede observar en la gráfica, la raíz positiva menor está entre 0 y 1.
external image 14a530040.gif
external image 14a6d0fa0.gif
external image 1x1.gif
external image 14a729180.gif

external image 1x1.gif



external image 14a835180.gif


Solución:

Como se puede observar en la gráfica, la raíz negativa está entre -2 y -1

external image 14a930040.gif
external image 14aa2cf50.gif
external image 1x1.gif
external image 14ab78a50.gif


external image 1x1.gif
external image 14ac0b180.gif


external image 14aee5e80.gif

Solución:

Debemos hallar la raíz positiva: se encuentra entre 1 y 2.

external image 14af30cd0.gif
external image 1x1.gif
MathType 5.0 Equation
MathType 5.0 Equation

external image 14b12d980.gif



external image 1x1.gifexternal image 14b20c180.gif

Solución:

Debemos hallar la raíz positiva: se encuentra entre 1 y 2.

external image 14b330d30.gif
external image 14b4eef80.gif
external image 14b52dc80.gif



external image 14b681150.gif

En la fig.1 se observan las gráficas de las dos funciones asi como la coordenada de la abscisa de su punto de intersección en el primer cuadrante.

Para hallar la abscisa del punto de intersección basta con igualar las funciones, asi:

x = cosx, entonces cosx - x = 0

La fig.2 muestra la gráfica de y = cosx - x

Vamos a utilizar el método de Newton para hallar, con una aproximación de 4 cifras decimales, el cero de la función:

external image 14b73c450.gif
external image 14b819c80.gif(fig.1)
Imagen de mapa de bits
Imagen de mapa de bits
(fig.2)
external image 14ba59d80.gif


2.2.3 Algoritmo para el método de Newton-Raphson





  1. Se debe incluir una rutina de graficación en el programa

  1. Al final de los cálculos, se necesitará sustituir siempre la raíz final calculada en la función original, para determinar si el resultado se acerca a cero. Esta prueba protege el desarrollo del programa contra aquellos casos en los que se presenta convergencia lenta u oscilatoria, la cual puede llevar a valores pequeños de εa, mientras que la solución aún está muy lejos de una raíz.

  1. El programa deberá incluir siempre un límite máximo permitido del número de iteraciones para estar prevenidos contra soluciones oscilantes, de lenta convergencia o divergentes que podrían persistir en forma interminable.

  1. El programa deberá alertar al usuario para que tome en cuenta la posibilidad de que f ‘(x) sea igual a cero en cualquier momento durante el cálculo.















Bibliografía


  • Richard L Burden, J. Douglas Faires (2000), "Numerical Analysis, (7th Ed)", Brooks/Cole. ISBN 0-534-38216-9.

  • Steven C. Chapra, Raymond P. Canale métodos numéricos para ingenieros con programas de aplicación.