Método de La Bisección
Método de La Bisección
Método de La Bisección
Esta tcnica se basa en el teorema del valor intermedio y parte del supuesto que
tienen signos opuestos. Aunque el procedimiento funciona bien para el caso en el que
existe ms de una solucin en el intervalo
la raz en dicho intervalo.
Si
, entonces
y
. Si
; si no,
, y tomanos
y
. Luego repetimos este proceso al intervalo
mtodo descrito en el algoritmo de la figura 3.
. Si
y
, y tomanos
. Esto produce el
Error Absoluto
para
. Esto nos permite tener una idea de que tan cerca estamos de la solucin real,
incluso podemos usar esto para estimar el nmero de iteraciones necesarias para alcanzar
una presicin dada.
La implementacin de este algoritmo con Excel es muy sencillas, como veremos.
Ejemplo
Para ilustar la forma en que podemos usar Excel, vamos a aproximar la solucin de la
ecuacin
intervalo a
y el teorema de Sturm para garantizar la unicidad de la solucin real
([Childs 1995], [Kurosch 1987]). El prximo paso es usar Excel.
, respectivamente.
Y por ltimo, lo nico que debemos hacer es ir generando las aproximaciones, para esto
arrastramos cada columna una a una. El resultado de esto se muestra en la figura 4.
Ver Animacin...
Si f es una funcin continua sobre el intervalo [a,b] y si f(a) f(b)<0, entonces f debe tener un
cero en (a,b). Dado que f(a)f(b)<0, la funcin cambia de signo en el intervalo [a,b] y por lo
tanto tiene por lo menos un cero en el intervalo. (Vase la figura 5.1)
Esta es una consecuencia del teorema del valor intermedio para funciones continuas, que
establece que si f es continua en [a,b] y si k es un nmero entre f(a) y f(b) , entonces existe
por lo menos un c (a,b) tal que f(c)=k.
(para el caso en que f(a)f(b)<0 se escoge k=0, luego f(c)=0, c (a,b)).
El mtodo de biseccin consiste en dividir el intervalo en 2 subintervalos de igual
magnitud, reteniendo el subintervalo en donde f cambia de signo, para conservar al menos
una raz o cero, y repetir el proceso varias veces.
Por ejemplo, suponga que f tiene un cero en el intervalo [a,b].
; despus se averigua s
Ejemplo.
Si se denota con
entonces c1 = 1. Ahora f(c1) = f(1) =
-0.158529, luego la funcin tiene un cero en el intervalo [c1, b1] = [1,2] ; se renombra a2=c1
y b2=b1 .
En la tabla de abajo se muestran las primeras nueve iteraciones del mtodo de biseccin
para f(x)= xsenx 1 con a=0 b=2.
Extremo
izquierdo an
Extremo
derecho bn
Punto
medio cn
Valor de la
funcin f(cn)
Error Relativo
-0.158529
1.5
0.496242
0.333333
1.5
1.25
0.186231
0.2
1.25
1.125
0.015051
0.111111
1.125
1.0625
-0.071827
0.0588235
1.0625
1.125
1.09375
-0.028362
0.0285714
1.09375
1.125
1.109375
-0.006643
0.0140845
1.1093750
1.125
1.1171875 0.004208
0.0069930
1.1093750
1.1171875
1.1132812
-0.001216
5
0.0035087
del cero de f ,
En el ejemplo anterior si =0.005, el procedimiento se parara en la octava iteracin con el
criterio |f(cn)|< , ya que:
|f(c8)| = |f(1.1171875)| = 0.004208 < = 0.005,
,n
que
1 (Prueba)
Ejemplo.
Para determinar el nmero de iteraciones necesarias para aproximar el cero de f(x) = xsen x 1 con una exactitud de 10-2en el intervalo [0,2], se debe hallar un nmero n tal que:
, n > 7.643...
= 0.004782141<10-2 = 0.01
Notas:
El mtodo de biseccin tiene la desventaja que es lento en cuanto a convergencia (es decir que se
necesita un n grande para que
sea pequeo). Otros mtodos requieren menos iteraciones
para alcanzar la misma exactitud, pero entonces no siempre se conoce una cota para la precisin.
El mtodo de biseccin suele recomendarse para encontrar un valor aproximado del cero de una
funcin, y luego este valor se refina por medio de mtodos ms eficaces. La razn es porque la
mayora de los otros mtodos para encontrar ceros de funciones requieren un valor inicial cerca de
un cero; al carecer de dicho valor, pueden fallar por completo.
Resolver una ecuacin en una variable como por ejemplo: xex=1 es equivalente a resolver la
ecuacin xex-1=0 , o a encontrar el cero de la funcin f(x) = xex-1. Para aproximar el cero de f o la
raz de la ecuacin se puede hacer la grfica de f en una calculadora o usar matlab para determinar
un intervalo donde f tenga un cero. Tambin se pueden ensayar nmeros a y b de tal manera que
f(a)f(b)<0. Para el caso de f(x) = xex-1 por ejemplo f(0) = -1, f(1) = e-1 1.71828 entonces f tiene un
cero en el intervalo [0,1].
Cuando hay races mltiples, el mtodo de biseccin quiz no sea vlido, ya que la funcin podra no
cambiar de signo en puntos situados a cualquier lado de sus races. Una grfica es fundamental para
aclarar la situacin. En este caso sera posible hallar los ceros o races trabajando con la derivada
Metodo newton
a la raz
de
en un punto
aproximacin a la raz
; sta
Hacemos
Y despejamos
para calcular la
, si
Ejemplo 1
Usar el mtodo de Newton-Raphson, para aproximar la raz de
, comenzando con
y hasta que
Solucin
En este caso, tenemos que
Comenzamos con
Aprox. a la raz
y obtenemos:
Error aprox.
1
1.268941421
21.19%
1.309108403
3.06%
1.309799389
0.052%
#
1
2
3
4
5
6
Fxn
18
-30.375
-6.2771541041392
-0.59229583988115
-0.0073539466744812
-1.1814129692311E-6
Dfxn
4
37.75
22.794965133108
18.569049742033
18.108960417816
18.103142166676
Nuevo Xm
-3.5
-2.6953642384106
-2.419989651633
-2.3880927130115
-2.3876866186524
-2.3876865533923
Algoritmo de la Secante
Programar en Matlab el algoritmo de la secante
clc
F=input('Ingrese la funcion entre comillas: ');
x0=input('Ingrese el valor de X0: ');
x1=input('Ingrese el valor de X1: ');
e=input('Ingrese el error: ');
n=input('Ingrese el numero maximo de Iteraciones: ');
f=inline(F);
for i=2 : n
if f(x0) < f(x1)
aux=x0;
x0=x1;
x1=aux;
end
x2=x1-(((x1-x0)/(f(x1)-f(x0)))*f(x1));
if f(x2)<e
i=n+1;
end
x1=x0;
x0=x2;
end
fprintf('La raiz de la funcion es: ');
disp(x2);
Empezamos con un conjunto de n+1 puntos en el plano (que tengan diferentes coordenadas
x):
(x0, y0), (x1, y1), (x2, y2),....,(xn, yn).
Nuestro objetivo es encontrar una funcin polinmica que pase por esos n+1 puntos y que
tengan el menor grado posible. Un polinomio que pase por varios puntos determinados se
llama un polinomio de interpolacin.
Vamos a ver una forma de la solucin que es el llamado polinomio de interpolacin de
Lagrange. (Lagrange public su frmula en 1795 pero ya haba sido publicada en 1779 por
Waring y redescubierta por Euler en 1783).
La frmula general para el polinomio de interpolacin de Lagrange es
Entonces es muy fcil comprobar que estos polinomios pasan por todos los n+1 puntos
dados (es decir, es un polinomio de interpolacin):
Dados tres puntos (x0, y0), (x1, y1) y (x2, y2), con coordenadas x diferentes, o bien los tres
puntos estn en una recta o hay un polinomio de segundo grado (una parbola) que pasa por
esos tres puntos. En cualquier caso, hay un polinomio de grado como mucho 2 que pasa por
esos tres puntos.
Comandos en matlab
>> 2/0
Inf es el smbolo
>> 0/0
NaN significa "Not A Number" (valor indeterminado)
>> pi contiene la constante p
>> eps es la precisin del tipo real en MATLAB
>> realmin el menor nmero real en MATLAB
>> realmax el mayor nmero real en MATLAB
>> i representa al smbolo complejo -1
Practique con nmeros complejos
>> x=3+2i asigne un nmero complejo
>> t=2*x + 3 - 5i operacin con nmeros complejos
>> y=exp(x) el resultado tambin es complejo
>> y=log(-2) el referencial de MATLAB son los complejos
Funciones adicionales para nmeros complejos
conj, real, imag, abs, angle, complex
>> z=3+2i;
>> t=conj(z) obtenga el conjugado
Variables
No requieren ser declaradas
Su tipo depende del valor asignado
Pueden ser redefinidas
Sensible al tipo de letra (maysculas o minsculas)
ans es la variable por omisin provista por MATLAB
Matlab realiza la asignacin de memoria a variables durante la ejecucin.
>> x=3 x es de tipo real