Está en la página 1de 12

UNIVERSIDAD CATOLICA DE SANTA MARIA

FACULTAD DE CIENCIAS E INGENIERAS FISICAS


Y FORMALES
PROGRAMA PROFESIONAL
INGENIERIA MECNICA, MECNICA-ELECTRCA
Y MECATRNICA
Laboratorio de Mecnica Computacional II
Tema: Mtodos Numricos Mtodo de la
Biseccin
Apellidos y Nombres
(1):_____________________________________________
Apellidos y Nombres
(2):_____________________________________________

Pgina:1/12

Jefes de Prcticas:
Ing. Juan Carlos Cuadros
Ing. Henry Zegarra Gago
Ing. Sergio Mestas Ramos

Cdigo:
Semestr
e:
Grupo:

4E04022

Lab. N:

06

IV
FECHA:

I.
OBJETIVOS
Aplicar los mtodos iterativos de intervalo, especficamente el mtodo de la biseccin en la
solucin de ecuaciones no lineales algebraicas y trascendentes.
Implementar programas en MATLAB que solucionen las races de ecuaciones algebraicas y
trascendentes por medio del mtodo de la biseccin.
II. MARCO TEORICO
2.1 Introduccin
En estaprctica, estudiaremos uno de los mtodos para la solucin numrica de ecuaciones
algbricas y trascendentes no lineales, esto es, ecuaciones que se puedan escribir en la forma
f(x) = 0, donde f es una funcin real de variable real.Todos los valores s que anulan f, esto es,
tales que f(s) = 0, se llaman ceros o races de la funcin f o solucin de la ecuacin f(x)=0.

Figura 1 Ceros de una funcin- Diferentes casos

Para una ecuacin del tipo f(x) = 0, antes de intentar aplicar cualquier mtodo de resolucin, es
importante garantizar que la ecuacin tenga solucin, o sea, que existe un real; s tal que
f(s)=0. Muchas veces importa tambin determinar si la solucin es nica, o si existen
diferentes soluciones y, en este caso, saber cual o cuales importan determinar.
2.2 Teorema de Bolzano
Dado un intervalo cerrado [a,b] y una funcin continua f(x), existe al menos una solucin a la
ecuacin algebraica no lineal o trascendente f(x)=0 si f(a)*f(b) 0

UNIVERSIDAD CATOLICA DE SANTA MARIA


FACULTAD DE CIENCIAS E INGENIERAS FISICAS
Y FORMALES
PROGRAMA PROFESIONAL
INGENIERIA MECNICA, MECNICA-ELECTRCA
Y MECATRNICA
Laboratorio de Mecnica Computacional II
Tema: Mtodos Numricos Mtodo de la
Biseccin
Apellidos y Nombres
(1):_____________________________________________
Apellidos y Nombres
(2):_____________________________________________

Figura 2Aplicacin del Teorema de Bolzano

Pgina:2/12

Jefes de Prcticas:
Ing. Juan Carlos Cuadros
Ing. Henry Zegarra Gago
Ing. Sergio Mestas Ramos

Cdigo:
Semestr
e:
Grupo:

4E04022

Lab. N:

06

IV
FECHA:

Laboratorio de Mecnica Computacional II

Pgina: 3/12

Tema: Mtodos Numricos Mtodo de la Biseccin

LAB N 6

JCC- HZG SMR

El teorema de Bolzano garantiza la existencia de una raz si existe un cambio de signo en el


intervalo [a,b], pero la anttesis es falsa, sino existe un cambio de signo, tambin puede existir
una raz en [a,b].
Los mtodos numricos que estn basados en el teorema de Bolzano se denominan mtodos
cerrados, ya que exigen como argumento un intervalo cerrado donde la funcin experimente un
cambio de signo.
2.3. Mtodo de las Bisecciones Sucesivas
En la resolucin de ecuaciones no lineales se utilizan, salvo soluciones analticas simples,
mtodos iterativos que generan una sucesin de valores que tienden al valor de la raz. Este
mtodo presenta la ventaja de acotar no slo el valor de la funcin, sino tambin el intervalo al
que pertenece la raz. Para su aplicacin es necesario que verifique las condiciones del Teorema
de Bolzano, esto es, la funcin debe ser continua y cambiar de signo en sus extremos.Por
ejemplo:Resolver en los nmeros reales las ecuaciones:

x 3 1 0, sen( x) x 0

tan( x ) x 0

(*)

Las grficas siguientes ilustran mejor la situacin. Indican que un problema con enunciado tan
simple puede ser difcil de resolver:

Figura 3 Grficas de las ecuaciones (*)

La primera grfica sugiere que hay un nico cero, precisamente donde ese cero est y las otras
dos indican que hay alguno en cada caso, pero nada ms. En realidad, sen(x) y x se encuentran
en un nico punto, x = 0; pero en cambio tan(x) y x se encuentran en un nmero infinito de
puntos. Ciertamente se requiere disponer de herramientas tericas (teoremas) y prcticas
(algoritmos) para resolver problemas de esta clase.
El mtodo de las bisecciones sucesivas parte del intervalo
inicial [a, b] que se sabe contiene un cero de f, supuestamente
nico. En cada iteracin se produce la reduccin del intervalo a la
mitad del intervalo actual. Para lo cual, se divide el intervalo
actual escogindose el intervalo izquierdo o derecho de forma
que la funcin tenga signo diferente en los extremos del subintervalo escogido. O sea, siendo [an, bn] el intervalo de la
iteracin

n,

se

calcula

1
x n+1= (an +b n) . El valor
2

x n+1

Figura 4 Bisecciones Sucesivas

Laboratorio de Mecnica Computacional II


Tema: Mtodos Numricos Mtodo de la Biseccin

sustituye a an o bn de acuerdo si se cumple que

Pgina: 4/12

LAB N 6

JCC- HZG SMR

n+1
n+1
x o x . De esta forma, se asegura que

f
f

s [an,bn] en cualquier iteracin.


2.5. Algoritmo de Biseccin
Mtodo de las bisecciones sucesivas
Inicializacin
a , b a, b

Repetir
1.

a n bn
2
f x n 1 f a n 0

x n 1

2. Si

Entonces

a n1 a n ; bn 1 x n 1 ;
a

;b

n 1
n 1
n 1
Sino
Verificar criterio de parada

Hasta que

bn ;

2.5. Error del Algoritmo de Biseccin

Figura 5 Error del Mtodo de la Biseccin

Teorema 1: Sea f una funcin continua en el intervalo [a,b]tal que f ( a ) f ( b ) <0 . El mtodo de
la biseccin genera una sucesin {pn}que converge a p con la propiedad:

| p p n|

ba
n1
2n

Demostracin:
Para cada n 1 , tenemos:

bn an=
Puesto que

1
2

n1

(ba) y

p(an ,b n)

pn=(an +b n)/2 , para cada n 1 , se tiene:

| p p n| 2 ( bn an ) =

ba
n
2

y esta desigualdad implica que

lim p n= p

Laboratorio de Mecnica Computacional II

Pgina: 5/12

Tema: Mtodos Numricos Mtodo de la Biseccin

Si llamamos al valor absoluto del error, donde

LAB N 6

JCC- HZG SMR

=| pp n| , se puede entonces afirmar que el

error absoluto del estimado pn est acotado por:

ba
2n

El nmero de iteraciones suficientes para garantizar un error absoluto no superior a se


puede calcular haciendo

ba

n
2

obtenindose el valor:

n log 2

( ba
)

Otra sugerencia sera finalizar el clculo cuando el error verdadero se encuentra por debajo de
algn nivel prefijado.
Por lo tanto se requiere estimar el error de forma tal que no se necesite el conocimiento previo de
la raz de la ecuacin. Se puede calcular el error relativo porcentual

a =

xrnuevox anterior
r
x nuevo
r

100

es el valor de la raz en la iteracin


x anterior
r
anterior. Se utiliza el valor absoluto, ya que solo importa la magnitud del error. Cuando a es
menor que un valor previamente fijado s , termina el clculo.
donde

x nuevo
r

a de la siguiente manera:

es la raz en la iteracin actual y

El siguiente ejemplo ilustra la aplicacin de este mtodo.


Ejemplo 1:
Determinar una aproximacin con un error absoluto inferior a 7x10 -2 de la (nica) solucin de la
ecuacin

x
1+ x+ e =0 que se sabe esta en el intervalo [-2, -1].

Solucin
Paso 1: Verificacin de las condiciones de convergencia
La funcin f(x)=1+x+ex es montona, f(-2)=-1+e-2<0, y f(-1)= e-1>0.
Paso 2: Determinacin del nmero de iteraciones
Como se desea alcanzar una precisin de 7x10-2se debe escoger n tal que:

n log 2

1 (2)
n 3.8365
7 x10 2

Efectuando 4 iteraciones a partir de [-2, -1] se tiene un error mximo absoluto de:

1
6 x10 2
4
2
Iteraciones:
n
1
2
3

an
-2.000

f(an)
-0.865

bn
-1.000

f(bn)
0.3679

xn+1
-1.500

f(xn+1)
-0.2769

Laboratorio de Mecnica Computacional II


Tema: Mtodos Numricos Mtodo de la Biseccin

Pgina: 6/12

LAB N 6

JCC- HZG SMR

Podemos realizar una comprobacin grfica de la solucin del problema, entonces, graficamos la
funcin

1+x+ e x =0

y vemos donde tiene un cruce por el eje x.

Figura 6Grafico de la Ec: f(x)=1+x+ex

La solucin de la ecuacin ser x = , o sea, x [,]


III. MATERIAL Y EQUIPO
Una PC con Sistema Operativo (S.O.) Windows XP.
MATLAB 7.0 o superior
IV. PROCEDIMIENTO
1. Localice grficamente las races de f(x) = 0, siendo f(x) = |x| - ex.
clear all;
clc;
disp('METODO DE LA BISECCION');
fprintf( '\n');
f=input('Ingrese la funcion; ','s');
f=inline(f);
ezplot(f)
a=input('Limite inferior a= ');
b=input('Limite Superior b= ');
e=input('Error absoluto e= ');
fprintf('\n');
fprintf('%.8s %.8s %.8s %.8s %.8s %.8s %.8s \n','A','F(a)','B','F(b)','Xn','F(xn)');
y=f(a)*f(b);
%Teorema de Bolszano
if y<0
n=log2( (b-a)/e);
n=ceil(n);
for i=1:n
xn=(a+b)/2;
z=f(a)*f(xn);
fprintf('\n %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f
\n',a,f(a),b,f(b),xn,f(xn));
if z<0
b=xn;
else

Laboratorio de Mecnica Computacional II


Tema: Mtodos Numricos Mtodo de la Biseccin

end

Pgina: 7/12

LAB N 6

JCC- HZG SMR

a=xn;

end
fprintf('\n');
fprintf('\n');
fprintf('La solucion es x=%.4f,F(x)=%.4f \n',xn,f(xn));
else
end

disp('La funcion no tiene solucion en ese intervalo');


fprintf('\n');

2. Usando el mtodo de la biseccin sucesivas, determine un valor aproximado para los


ceros de f(x) = |x| - ex con un error que no exceda a 0.15.

Laboratorio de Mecnica Computacional II


Tema: Mtodos Numricos Mtodo de la Biseccin

Pgina: 8/12

LAB N 6

JCC- HZG SMR

3. Confeccionar en MATLAB un programa que:


3.1.Calcule la raz de una ecuacin algebraica no lineal o ecuacin trascendente.
3.2.Adjunte su algoritmo y diagrama de flujo
Ingresamos la funcin
Calculamos la funcin
Ingresamos ezplot f para graficar la funcin
Ahora establecemos los limites
Determinamos la raz, por medio del grafico ya hallado
Y por ltimo mostramos los valores deseados

Laboratorio de Mecnica Computacional II


Tema: Mtodos Numricos Mtodo de la Biseccin

Pgina: 9/12

LAB N 6

JCC- HZG SMR

clear all;
clc;
disp('METODO DE LA BISECCION');
fprintf( '\n');
f=input('Ingrese la funcion; ','s');
f=inline(f);
ezplot(f)
a=input('Limite inferior a= ');
b=input('Limite Superior b= ');
e=input('Error absoluto e= ');
fprintf('\n');

fprintf('%.8s %.8s %.8s %.8s %.8s %.8s %.8s


\n','A','F(a)','B','F(b)','Xn','F(xn)');
y=f(a)*f(b);
%Teorema de Bolszano
if y<0
n=log2( (b-a)/e);
n=ceil(n);
for i=1:n
xn=(a+b)/2;
z=f(a)*f(xn);
fprintf('\n %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f
%8.4f \n',a,f(a),b,f(b),xn,f(xn));
if z<0
b=xn;
else
a=xn;
end
end
fprintf('\n');
fprintf('\n');
fprintf('La solucion es x=%.4f,F(x)=%.4f
\n',xn,f(xn));
else
disp('La funcion no tiene solucion en ese
intervalo');
fprintf('\n');
end

V. CUESTIONARIO FINAL
1. Use cuatro iteraciones del mtodo del la Biseccin para determinar las races de

e 2 x 6 x 0 en el intervalo [0, 0.5]. Cuntas iteraciones son necesarias para obtener


la aproximacin a la raiz redondeada a 5 cifras decimales?

Laboratorio de Mecnica Computacional II


Tema: Mtodos Numricos Mtodo de la Biseccin

Pgina: 10/12

LAB N 6

JCC- HZG SMR

CODIGO MATLAB
clear all;
clc;
disp('METODO DE LA BISECCION');
fprintf( '\n');
f=input('Ingrese la funcion; ','s');
f=inline(f);
ezplot(f)
a=input('Limite inferior a= ');
b=input('Limite Superior b= ');
fprintf('\n');

fprintf('%.8s %.8s %.8s %.8s %.8s %.8s


%.8s
\n','A','F(a)','B','F(b)','Xn','F(xn)');
y=f(a)*f(b);
%Teorema de Bolszano
if y<0
n=4;
for i=1:n
xn=(a+b)/2;
z=f(a)*f(xn);
fprintf('\n %8.4f %8.4f %8.4f
%8.4f %8.4f %8.4f %8.4f
\n',a,f(a),b,f(b),xn,f(xn));
if z<0
b=xn;
else
a=xn;
end
end
fprintf('\n');
fprintf('\n');
fprintf('La solucion es x=%.4f,F(x)=
%.4f \n',xn,f(xn));
else
disp('La funcion no tiene solucion
en ese intervalo');
fprintf('\n');
end

2. Hacer una prueba de datos del programa realizado en el procedimiento con los datos de la
pregunta anterior.

Laboratorio de Mecnica Computacional II


Tema: Mtodos Numricos Mtodo de la Biseccin

Pgina: 11/12

LAB N 6

JCC- HZG SMR

Cuntas iteraciones son necesarias para obtener la aproximacin a la raiz redondeada


a 5 cifras decimales?

VI. OBSERVACIONES Y CONCLUSIONES

Laboratorio de Mecnica Computacional II


Tema: Mtodos Numricos Mtodo de la Biseccin

Pgina: 12/12

LAB N 6

JCC- HZG SMR

Haga sus observaciones y emita al menos cinco conclusiones en torno al trabajo


realizado

Aplicamos uno de los mtodos ms sencillos y de fcil intuicin para resolver ecuaciones en una
variable o de ms.

El mtodo de biseccin basa en el teorema del valor intermedio.

El mtodo de biseccin es menos eficiente que el mtodo de Newton, pero es mucho ms seguro para
garantizar la convergencia.

También podría gustarte