Sie sind auf Seite 1von 34

RACES CUADRADAS

UNIDAD 2

MTODOS NUMRICOS

Ingeniera Mecatrnica

Integrantes del equipo:


Andrs Eduardo Mora Alonso
Erick Roberto Lpez Corona
Vctor Alejandro Gmez Bueno
Wakaan Pacheco Vega
Zuriel Vladimir Solrzano Gonzlez

Nombre de la maestra:
Guadalupe Lpez Rolan

Villa de lvarez, Col., 22 de Septiembre del 2017


Villa de lvarez, Col., junio de 2013
ndice
Introduccin

La mayor parte de las matemticas estudiadas hasta ahora se han


dedicado a desarrollar mtodos que nos proporcionen la solucin exacta de un
problema.

La raz de una ecuacin es aquel valor de la variable independiente que


hace que el resultado de la ecuacin sea cero o por lo menos se acerque a cero
con un cierto grado de aproximacin deseado.

Hablaremos de los distintos mtodos para encontrar races, desde los


mtodos cerrados o de intervalos, hasta los mtodos abiertos, que ellos incluyen
el grfico, por biseccin, de secante, Newton-Raphson, entre otros.

Cabe resaltar que podemos encontrar distintas ecuaciones y distintos


resultados dependiendo del caso, siendo el Newton-Raphson el ms utilizado.
Mtodos de Intervalos

La principal caracterstica es que se establece un intervalo [, ] dentro del


cual se encuentre la raz buscada. Los lmites del intervalo deben cambiar de
signo, equivale a () () < 0 .

Cuando se presentan signos iguales al evaluar los lmites del intervalo en la


funcin, puede significar que no existe una raz o un nmero impar de ellas. Si la
funcin cambia de signo nos indica que al menos hay una raz del intervalo.

Criterio de convergencia

Cuando el valor hallado para cumple alguno de los siguientes requisitos


se considera resuelto el problema:

| |
|()| < | |

Siendo y los valores de las dos ltimas iteraciones y el nivel


mximo de error aceptado, el cual se puede definir con base en el nmero de
cifras significativas = 510(+1) o en el nmero de cifras decimales.

Mtodo Grfico

El mtodo de la aproximacin grfica es el mtodo ms sencillo pero el


menos indicado, debido a que solo vas a ir dando valores a la incgnita de una
funcin hasta llegar al punto ms cercano de la raz. ste mtodo adems no
cuenta con una formula, slo se utiliza la ecuacin y se sustituye.

En el mtodo grfico lo esencial es poder construir un modelo grfico de la


ecuacin y luego por inspeccin estimar la raz por aproximacin.
Una desventaja de ste mtodo es su poca exactitud. A pesar de eso con
las herramientas de software indicadas podemos realizar rpidamente grficas con
un alto grado de realismo.

Al determinar los lmites del intervalo debemos considerar probar con


distintos hasta encontrar el ms adecuado, es importante considerar las
caractersticas del problema, si estamos hablando de magnitudes fsicas como
velocidad, distancia, masa, entre otras; no tendra sentido utilizar valores
negativos.

Ejemplo:

() = (3) + ()

El conjunto de valores posibles que puede tomar x estn en el intervalo [-


, ]. Sin embargo, sabemos que la funcin tiene periodo 2 lo cual ayuda
a limitar el intervalo. Por tanto utilizaremos el intervalo [0, ].
Cls;
clear all;
x=0:0.01:pi; %Creamos un vector con valores entre 0 y
pi.
y=sin(3.*x)+cos(x);
subplot(1,2,1) % Dividimos la pantalla en dos
secciones y graficamos en la primera seccin
plot(x,y)
title('f(x) = seno(3x) + cos(x)')
grid

Ejemplo:

() = 2

En sta funcin utilizaremos el intervalo [4,4] para obtener el grfico.

x=-3:0.01:3; % Definimos el rango de valores


para graficar la segunda funcin
y=exp(x) - x - 2;
subplot(1,2,2)
plot(x,y)
title ('f(x) = exp(x) - x - 2')
grid %Trazamos la cuadrcula
Ejemplo:

Un objeto de 60 de masa, despus de 10 en cada libre adquiere una


velocidad de 40 /. Cul ser el coeficiente de rozamiento del aire en ese
momento?.

Por leyes de la fsica se sabe que para este tipo de movimiento la velocidad


est dada por: () = (1 ) donde es la masa del objeto que cae, es

el coeficiente de rozamiento, es el tiempo y es la fuerza de gravedad (9.81 /


aprox.).

Si reemplazamos los valores conocidos, el nico valor que queda por


averiguar es , no es sencillo despejarlo de la ecuacin, por lo tanto recurrimos a
los mtodos numricos para hallar una aproximacin satisfactoria. Reemplazando
los valores conocidos obtenemos:

9.81 60
40 = (1 6010 )

sta expresin es una ecuacin matemtica en funcin de c que podemos


expresar como:

9.81 60
() = (1 6010 ) 40

Podramos resolver por ensayo y error dando valores a c e ir haciendo las


respectivas operaciones hasta que se logre obtener un valor cercano a cero en la
ecuacin y esa sera la solucin buscada, mtodo que probablemente nos tome
mucho tiempo y clculos matemticos. Si elaboramos la grfica con MatLab,
obtenemos una respuesta aproximada de 13.02 con un error cercano al 5%.
El archivo .m de MatLab que permite obtener esta grfica es:

clc
clear all
c=0.1:.01:15;
f=9.81.*60./c .*(1 - exp(-c.*10/60))-
40;
plot(c,f)
grid
title ('f=9.81.*60./c .*(1 - exp(-
c.*10/60))-40')

Ejemplo:

= () () + 1 [0,20]

x=0:0.01:20;
y = cos(x).*cosh(x)+1;
plot(x,y)
grid
subplot(1,2,1)
plot(x,y)
grid
subplot(1,2,2)
plot(x,y)
AXIS([0,20,-20,20])
GRID
subplot(1,2,1)
TITLE('Y = cos(x)*cosh(x)+1') subplot(1,2,2)
TITLE('Y = cos(x)*cosh(x)+1, usando el comando
AXIS([0,20,-20,20])')
La grfica de la izquierda difiere de la de la derecha, esto se debe a que el
comando permite ajustar los valores mnimo y mximo de las coordenadas
y para dibujar la figura.

El comando es: ([, , , ]). Si un valor se sale de esos


lmites, se cortan, lo cual de una imagen mas cercana a la realidad. Si se desea
una figura de forma cuadrada se pude usar el comando ().

El comando tambin puede usarse para omitir los ejes de


coordenadas y la escala, tecleando el comando (`). Para activar
nuevamente los ejes se utiliza el comando ().

Mtodo de Biseccin

Su caracterstica fundamental es que se elige un intervalo [a, b] dentro del


cual se encuentre la raz buscada. Cualquier ecuacin en una variable siempre se
puede escribir en la forma de una equivalente, pero con segundo miembro nulo:
() = 0. Con ello, se plantea encontrar la solucin (tambin llamada raz) de la
ecuacin () = 0. Por ejemplo, la ecuacin 2 3 = 5 se puede reescribir como
2 8 = 0
Desde el punto de vista grfico, esto significa encontrar un punto en que la
grfica de la funcin = () corte el eje de las abscisas, dentro de un intervalo
[, ].

Para los mtodos de aproximaciones de races de ecuaciones es necesario


conocer, ya sea un intervalo que contenga slo una raz, o un punto inicial que
est muy cerca de ella.

Los mtodos de aproximaciones son, en general, iterativos. Esto significa


que se debe construir una sucesin de valores que luego se usarn para
calcularlos siguientes, reduciendo as el error y llevando a una aproximacin cada
vez mayor al valor real. Cuando las aproximaciones tienden a () = 0 entonces
se dice que el mtodo es convergente.

De forma simple, se tiene que el mtodo de biseccin consiste en lo


siguiente:

1. Se subdivide el intervalo en el que se sabe que la funcin tiene una sola raz.
2. Ubicar en cul de las dos mitades del intervalo se encuentra la raz y descartar
la otra mitad.
3. Repetir el proceso con el nuevo intervalo.
4. Repetir el mismo proceso hasta que el intervalo sea lo suficientemente
pequeo como para que cualquiera de sus puntos sea una aproximacin
aceptable de la solucin. Entonces, la solucin de la ecuacin se toma como el
punto medio de dicho intervalo.

Para calcular cul es nmero de iteraciones que se debe realizar a partir de un


error mnimo se utiliza la siguiente frmula:


ln( )
+1>
ln(2)

Donde + 1 ser el nmero de iteraciones, es el lmite superior del intervalo


y es el lmite inferior.

Mtodo de Falsa Posicin

La aproximacin de la raz se toma como la interseccin de la lnea que une


los puntos (, ()) y (, (()) con el eje . Por semejanza de tringulos, se
puede expresar como:

() ()
=

De donde se puede derivar:


= ()
() ()

() ()
=
() ()

En esencia, este mtodo es el mismo que el mtodo de biseccin pero


reemplazando la frmula para calcular la aproximacin de la raz .
Ejemplos Biseccin y Falsa Posicin

5.1 Determine las races reales de () = 0.5 2 + 2.5 + 4.5:


a) Grficamente
b) Empleando la frmula cuadrtica

c) Usando el mtodo de biseccin con tres iteraciones para determinar la


raz ms grande. Emplee como valores iniciales = 5 y = 10. Calcule el
error estimado y el error verdadero para cada iteracin.
%Ejercicio 5.1
clear, clc
g=input('Ingrese la funcin: ');
%Se convierte el texto
f=inline(g)
%Se definen los lmites superior, inferior y la tolerancia deseada
a=input('Ingrese el lmite inferior: ');
b=input('Ingrese el lmite superior: ');
tol=input('Ingrese la tolerancia: ');
%Se agrega un contador para el nmero de iteraciones y el nmero mximo de
%iteraciones
iter=0;
itm=input('Ingrese el mximo de iteraciones: ');
%La variable 'c' tomar el valor medio entre el intervalo y al final ser
%el que devuelva el valor de la raz
c=0;
e=(b-a)/2;
%Se comprueba el signo en f(a) y f(b)
fa=f(a);
fb=f(b);
if fa*fb>0
disp('Los signos de f(a) y f(b) deben ser distintos')
else
%Comienzan las iteraciones
while iter<=itm
iter=iter+1;
c=abs(a+b)/2; %Se obtiene el punto medio del intervalo
fprintf('%2d %15.12f %15.12f %15.12f\n',iter,a,b,c) %Se muestran
las iteraciones y el punto medio en cada intervalo
fc=f(c);
if fc==0 %Si f(c) es 0 se igualan los intervalos a c para obtener
la raz directa
a=c;
b=c;
elseif fc>0 %Se redefinen los intervalos
a=c;
else
b=c;
end
if (abs(b-a)/b)*100<tol %Se evala el error respecto a la
tolerancia, si e<tol entonces se muestra la raz y el proceso termina
e=(abs(b-a)/b)*100
disp(c)
break
end
end
end
Ingrese la funcin: '-1/2*x^2+5/2*x+9/2'
f =
Inline function:
f(x) = -1/2*x^2+5/2*x+9/2
Ingrese el lmite inferior: 5
Ingrese el lmite superior: 10
Ingrese la tolerancia: .0001
Ingrese el mximo de iteraciones: 30
1 5.000000000000 10.000000000000 7.500000000000
2 5.000000000000 7.500000000000 6.250000000000
3 6.250000000000 7.500000000000 6.875000000000
4 6.250000000000 6.875000000000 6.562500000000
5 6.250000000000 6.562500000000 6.406250000000
6 6.250000000000 6.406250000000 6.328125000000
7 6.328125000000 6.406250000000 6.367187500000
8 6.367187500000 6.406250000000 6.386718750000
9 6.386718750000 6.406250000000 6.396484375000
10 6.396484375000 6.406250000000 6.401367187500
11 6.401367187500 6.406250000000 6.403808593750
12 6.403808593750 6.406250000000 6.405029296875
13 6.405029296875 6.406250000000 6.405639648438
14 6.405029296875 6.405639648438 6.405334472656
15 6.405029296875 6.405334472656 6.405181884766
16 6.405029296875 6.405181884766 6.405105590820
17 6.405105590820 6.405181884766 6.405143737793
18 6.405105590820 6.405143737793 6.405124664307
19 6.405124664307 6.405143737793 6.405134201050
20 6.405124664307 6.405134201050 6.405129432678
e =
7.4446e-05
6.4051

5.2 Determine las races reales de () = 5 3 5 2 + 6 2:


a) Grficamente

b) Utilizando el mtodo de biseccin para localizar la raz ms pequea.


Use los valores iniciales = 0 y = 1 iterando hasta que el error estimado
se encuentre debajo de = 10%.
%5.2 Biseccion
clear, clc
g=input('Ingrese la funcin: ');
%Se convierte el texto
f=inline(g)
%Se definen los lmites superior, inferior y la tolerancia deseada
a=input('Ingrese el lmite inferior: ');
b=input('Ingrese el lmite superior: ');
tol=input('Ingrese la tolerancia: ');
%Se agrega un contador para el nmero de iteraciones y el nmero mximo
de
%iteraciones
iter=0;
itm=input('Ingrese el mximo de iteraciones: ');
%La variable 'c' tomar el valor medio entre el intervalo y al final
ser
%el que devuelva el valor de la raz
c=0;
e=(b-a)/2;
%Se comprueba el signo en f(a) y f(b)
fa=f(a);
fb=f(b);
if fa*fb>0
disp('Los signos de f(a) y f(b) deben ser distintos')
else
%Comienzan las iteraciones
while iter<=itm
iter=iter+1;
c=(a+b)/2; %Se obtiene el punto medio del intervalo
fprintf('%2d %15.12f %15.12f %15.12f\n',iter,a,b,c) %Se
muestran las iteraciones y el punto medio en cada intervalo
fc=f(c);
if fc==0 %Si f(c) es 0 se igualan los intervalos a c para
obtener la raz directa
a=c;
b=c;
elseif fc>0 %Se redefinen los intervalos
b=c;
else
a=c;
end
if (abs(b-a)/b)*100<tol %Se evala el error respecto a la
tolerancia, si e<tol entonces se muestra la raz y el proceso termina
e=(abs(b-a)/b)*100
disp(c)
break
end
end
end
Ingrese la funcin: '5*x^3-5*x^2+6*x-2'
f =
Inline function:
f(x) = 5*x^3-5*x^2+6*x-2
Ingrese el lmite inferior: 0
Ingrese el lmite superior: 1
Ingrese la tolerancia: .1
Ingrese el mximo de iteraciones: 30
1 0.000000000000 1.000000000000 0.500000000000
2 0.000000000000 0.500000000000 0.250000000000
3 0.250000000000 0.500000000000 0.375000000000
4 0.375000000000 0.500000000000 0.437500000000
5 0.375000000000 0.437500000000 0.406250000000
6 0.406250000000 0.437500000000 0.421875000000
7 0.406250000000 0.421875000000 0.414062500000
8 0.414062500000 0.421875000000 0.417968750000
9 0.417968750000 0.421875000000 0.419921875000
10 0.417968750000 0.419921875000 0.418945312500
11 0.417968750000 0.418945312500 0.418457031250
12 0.417968750000 0.418457031250 0.418212890625
e =
0.0584
0.4182

5.4 Calcule las races reales de () = 12 21 + 18 2 2.75 3 :


a) Grficamente
b) Empleando el mtodo de falsa posicin con un valor
correspondiente a 3 cifras significativas para determinar la raz ms
pequea.
%5.4 Falsa posicin
clear, clc
%Se ingresa la funcin
g=input('Ingrese la funcin: ');
%Se convierte la cadena
f=inline(g)
%Se definen los lmites superior, inferior y la tolerancia deseada
a=input('Ingrese el lmite inferior: ');
b=input('Ingrese el lmite superior: ');
tol=input('Ingrese la tolerancia: ');
%Se agrega un contador para el nmero de iteraciones y el nmero mximo de
%iteraciones
iter=0;
itm=input('Ingrese el mximo de iteraciones: ');
%La variable 'c' tomar el valor aproximado de la raz
c=0;
%Se comprueba el signo en f(a) y f(b)
fa=f(a);
fb=f(b);
if fa*fb>0
disp('Los signos de f(a) y f(b) deben ser distintos') %Si fa*fb>0
entonces la grfica no corta al eje X
else
while iter<=itm
iter=iter+1;
%Se calcula el valor de la variable
c=(a*f(b)-b*f(a))/(f(b)-f(a));
fprintf('%2d %15.12f %15.12f %15.12f\n',iter,a,b,c) %Se muestran las
iteraciones y el punto medio en cada intervalo
fc=f(c);
%Se evala c en f, si es igual a 0 entonces la raz es exacta y
%finaliza el ciclo
if fc==0
a=c;
b=c;
%Se obtiene el signo de f(c) para redefinir el intervalo
elseif fc>0
a=c;
else
b=c;
end
%Se compara el error con la tolerancia, si es menor el ciclo
%finaliza
e=(abs(b-a)/b);
if abs(e)<tol
e=(abs(b-a)/b)
disp(c)
break
end
%Se muestra el valor de c para cada iteracin y se suma 1 al
%contador
disp(c)
end
end
Ingrese la funcin: '-12-21*x+18*x^2-11/4*x^3'
f =
Inline function:
f(x) = -12-21*x+18*x^2-11/4*x^3
Ingrese el lmite inferior: -1
Ingrese el lmite superior: 0
Ingrese la tolerancia: .001
Ingrese el mximo de iteraciones: 30
1 -1.000000000000 0.000000000000 -0.287425149701
2 -1.000000000000 -0.287425149701 -0.379448910695
3 -1.000000000000 -0.379448910695 -0.405232125476
4 -1.000000000000 -0.405232125476 -0.412173279581
5 -1.000000000000 -0.412173279581 -0.414021540199
6 -1.000000000000 -0.414021540199 -0.414512244012
7 -1.000000000000 -0.414512244012 -0.414642421705
8 -1.000000000000 -0.414642421705 -0.414676949093
9 -1.000000000000 -0.414676949093 -0.414686106383
10 -1.000000000000 -0.414686106383 -0.414688535028
11 -1.000000000000 -0.414688535028 -0.414689179136
12 -1.000000000000 -0.414689179136 -0.414689349962
13 -1.000000000000 -0.414689349962 -0.414689395268
14 -1.000000000000 -0.414689395268 -0.414689407283
15 -1.000000000000 -0.414689407283 -0.414689410470
16 -1.000000000000 -0.414689410470 -0.414689411315
17 -1.000000000000 -0.414689411315 -0.414689411539
18 -1.000000000000 -0.414689411539 -0.414689411599
19 -1.000000000000 -0.414689411599 -0.414689411614
20 -1.000000000000 -0.414689411614 -0.414689411619
21 -1.000000000000 -0.414689411619 -0.414689411620
22 -1.000000000000 -0.414689411620 -0.414689411620
23 -1.000000000000 -0.414689411620 -0.414689411620
24 -1.000000000000 -0.414689411620 -0.414689411620
25 -1.000000000000 -0.414689411620 -0.414689411620
26 -1.000000000000 -0.414689411620 -0.414689411620
27 -1.000000000000 -0.414689411620 -0.414689411620
28 -1.000000000000 -0.414689411620 -0.414689411620
29 -1.000000000000 -0.414689411620 -0.414689411620
e =

-1.3386e-16

-0.4147

5.6 Determine la raz real de ln( 2 ) = 0.7:


a) Grficamente
b) Empleando tres iteraciones en el mtodo de biseccin con los valores
iniciales = 0.5 y = 2.
c) Usando tres iteraciones del mtodo de la falsa posicin, con
d) los mismos valores iniciales de b).
clear, clc
g=input('Ingrese la funcin: ');
%Se convierte el texto
f=inline(g)
%Se definen los lmites superior, inferior y la tolerancia deseada
a=input('Ingrese el lmite inferior: ');
b=input('Ingrese el lmite superior: ');
tol=input('Ingrese la tolerancia: ');
%Se agrega un contador para el nmero de iteraciones y el nmero mximo de
%iteraciones
iter=0;
itm=input('Ingrese el mximo de iteraciones: ');
%La variable 'c' tomar el valor medio entre el intervalo y al final ser
%el que devuelva el valor de la raz
c=0;
e=(b-a)/2;
%Se comprueba el signo en f(a) y f(b)
fa=f(a);
fb=f(b);
if fa*fb>0
disp('Los signos de f(a) y f(b) deben ser distintos')
else
%Comienzan las iteraciones
while iter<=itm
iter=iter+1;
c=(a+b)/2; %Se obtiene el punto medio del intervalo
fprintf('%2d %15.12f %15.12f %15.12f\n',iter,a,b,c) %Se muestran las
iteraciones y el punto medio en cada intervalo
fc=f(c);
if fc==0 %Si f(c) es 0 se igualan los intervalos a c para obtener la
raz directa
a=c;
b=c;
elseif fc>0 %Se redefinen los intervalos
b=c;
else
a=c;
end
if (abs(b-a)/b)*100<tol %Se evala el error respecto a la tolerancia,
si e<tol entonces se muestra la raz y el proceso termina
e=(abs(b-a)/b)*100
disp(c)
break
end
end
disp(c)
end
Ingrese la funcin: 'log(x^2)'

f =

Inline function:
f(x) = log(x^2)

Ingrese el lmite inferior: .5


Ingrese el lmite superior: 2
Ingrese la tolerancia: .01
Ingrese el mximo de iteraciones: 3
1 0.500000000000 2.000000000000 1.250000000000
2 0.500000000000 1.250000000000 0.875000000000
3 0.875000000000 1.250000000000 1.062500000000
4 0.875000000000 1.062500000000 0.968750000000
0.9688
%5.6 Falsa posicin
clear, clc
%Se ingresa la funcin
g=input('Ingrese la funcin: ');
%Se convierte la cadena
f=inline(g)
%Se definen los lmites superior, inferior y la tolerancia deseada
a=input('Ingrese el lmite inferior: ');
b=input('Ingrese el lmite superior: ');
tol=input('Ingrese la tolerancia: ');
%Se agrega un contador para el nmero de iteraciones y el nmero mximo de
%iteraciones
iter=0;
itm=input('Ingrese el mximo de iteraciones: ');
%La variable 'c' tomar el valor aproximado de la raz
c=0;
%Se comprueba el signo en f(a) y f(b)
fa=f(a);
fb=f(b);
if fa*fb>0
disp('Los signos de f(a) y f(b) deben ser distintos') %Si fa*fb>0 entonces
la grfica no corta al eje X
else
while iter<=itm
iter=iter+1;
%Se calcula el valor de la variable
c=(a*f(b)-b*f(a))/(f(b)-f(a));
fprintf('%2d %15.12f %15.12f %15.12f\n',iter,a,b,c) %Se muestran las
iteraciones y el punto medio en cada intervalo
fc=f(c);
%Se evala c en f, si es igual a 0 entonces la raz es exacta y
%finaliza el ciclo
if fc==0
a=c;
b=c;
%Se obtiene el signo de f(c) para redefinir el intervalo
elseif fc>0
b=c;
else
a=c;
end
%Se compara el error con la tolerancia, si es menor el ciclo
%finaliza
e=(abs(b-a)/b);
if abs(e)<tol
e=(abs(b-a)/b)
disp(c)
break
end
%Se muestra el valor de c para cada iteracin y se suma 1 al
%contador
end
disp(c)
end
Ingrese la funcin: 'log(x^2)'

f =

Inline function:
f(x) = log(x^2)

Ingrese el lmite inferior: .5


Ingrese el lmite superior: 2
Ingrese la tolerancia: .01
Ingrese el mximo de iteraciones: 3
1 0.500000000000 2.000000000000 1.250000000000
2 0.500000000000 1.250000000000 1.067353098025
3 0.500000000000 1.067353098025 1.018586507663
4 0.500000000000 1.018586507663 1.005165024478
1.0052

5.11 Determine la raz real de 3.5 = 80:


a) En forma analtica.
b) Con el mtodo de la falsa posicin dentro de = 2.5%. Haga elecciones
iniciales de 2.0 a 5.0.
%5.11 Falsa posicin
clear, clc
%Se ingresa la funcin
g=input('Ingrese la funcin: ');
%Se convierte la cadena
f=inline(g)
%Se definen los lmites superior, inferior y la tolerancia deseada
a=input('Ingrese el lmite inferior: ');
b=input('Ingrese el lmite superior: ');
tol=input('Ingrese la tolerancia: ');
%Se agrega un contador para el nmero de iteraciones y el nmero mximo
de
%iteraciones
iter=0;
itm=input('Ingrese el mximo de iteraciones: ');
%La variable 'c' tomar el valor aproximado de la raz
c=0;
%Se comprueba el signo en f(a) y f(b)
fa=f(a);
fb=f(b);
if fa*fb>0
disp('Los signos de f(a) y f(b) deben ser distintos') %Si fa*fb>0
entonces la grfica no corta al eje X
else
while iter<=itm
iter=iter+1;
%Se calcula el valor de la variable
c=(a*f(b)-b*f(a))/(f(b)-f(a));
fprintf('%2d %15.12f %15.12f %15.12f\n',iter,a,b,c) %Se
muestran las iteraciones y el punto medio en cada intervalo
fc=f(c);
%Se evala c en f, si es igual a 0 entonces la raz es exacta y
%finaliza el ciclo
if fc==0
a=c;
b=c;
%Se obtiene el signo de f(c) para redefinir el intervalo
elseif fc>0
b=c;
else
a=c;
end
%Se compara el error con la tolerancia, si es menor el ciclo
%finaliza
e=(abs(b-a)/b);
if abs(e)<tol
e=(abs(b-a)/b)
disp(c)
break
end
%Se muestra el valor de c para cada iteracin y se suma 1 al
%contador
end
disp(c)
end
Ingrese la funcin: 'x^3.5-80'

f =

Inline function:
f(x) = x^3.5-80

Ingrese el lmite inferior: 2


Ingrese el lmite superior: 5
Ingrese la tolerancia: .025
Ingrese el mximo de iteraciones: 30
1 2.000000000000 5.000000000000 2.768317965874
2 2.768317965874 5.000000000000 3.176817157761
3 3.176817157761 5.000000000000 3.364213116902
4 3.364213116902 5.000000000000 3.443493475877
5 3.443493475877 5.000000000000 3.475809340870
6 3.475809340870 5.000000000000 3.488776446905
7 3.488776446905 5.000000000000 3.493946467798
8 3.493946467798 5.000000000000 3.496002488021
9 3.496002488021 5.000000000000 3.496819292943
10 3.496819292943 5.000000000000 3.497143656987
11 3.497143656987 5.000000000000 3.497272445435
12 3.497272445435 5.000000000000 3.497323577491
13 3.497323577491 5.000000000000 3.497343877607
14 3.497343877607 5.000000000000 3.497351936946
15 3.497351936946 5.000000000000 3.497355136567
16 3.497355136567 5.000000000000 3.497356406840
17 3.497356406840 5.000000000000 3.497356911148
18 3.497356911148 5.000000000000 3.497357111361
19 3.497357111361 5.000000000000 3.497357190847
20 3.497357190847 5.000000000000 3.497357222404
21 3.497357222404 5.000000000000 3.497357234932
22 3.497357234932 5.000000000000 3.497357239906
23 3.497357239906 5.000000000000 3.497357241880
24 3.497357241880 5.000000000000 3.497357242664
25 3.497357242664 5.000000000000 3.497357242975
26 3.497357242975 5.000000000000 3.497357243099
27 3.497357243099 5.000000000000 3.497357243148
28 3.497357243148 5.000000000000 3.497357243167
29 3.497357243167 5.000000000000 3.497357243175
30 3.497357243175 5.000000000000 3.497357243178
31 3.497357243178 5.000000000000 3.497357243179
3.4974
Mtodos Abiertos

Se caracterizan porque no se requiere especificar de antemano un intervalo


en el cual se halle la raz. Slo se necesita una aproximacin inicial a la misma, sin
embargo un modelo grfico ayuda a definir esta aproximacin.

El inconveniente de estos mtodos est en que algunas veces la convergencia no


se da por lo tanto es necesario implementar controles para evitar que el algoritmo
se detenga cuando se est alejando de la raz verdadera, por ejemplo controlando
el nmero de iteraciones a realizar.

Mtodo de Punto Fijo

Los mtodos abiertos emplean una frmula para predecir la raz. Esta frmula
puede desarrollarse como una iteracin simple de punto fijo (tambin llamada
iteracin de un punto o sustitucin sucesiva o mtodo de punto fijo), al arreglar la
ecuacin f(x) = 0 de tal modo que x est del lado izquierdo de la ecuacin:

En este mtodo e necesario reacomodar la ecuacin de modo que


podamos obtener una ecuacin de la forma: = (), ya sea despejando una x
de la ecuacin original o sumando x a ambos lados de la misma.

Grficamente podemos usar el mtodo de las dos curvas. Graficar () =


graficar (), el punto en donde se corten se proyecta sobre el eje y se toma
como raz aproximada. En este mtodo la convergencia se da siempre y cuando
() < 1.

Sea () = 0 una ecuacin algebraica o trascendente cualquiera. Se suma


en ambos miembros y se obtiene:

() + =

El miembro izquierdo es otra funcin de que se define como:


() + =

Se sustituye en la ecuacin (1):

= ()

Ahora cualquier ecuacin puede representarse en esta forma, siguiendo el


procedimiento anterior.

Si = es una raz de la ecuacin, entonces

() = 0

Al sustituir en la ecuacin (3)

= ()

El mtodo consiste en sustituir un valor inicial (0) apropiado (cercano a la


raz) en el segundo miembro de la ecuacin (3). Si 0 es la raz, se deber cumplir
la ecuacin (4); esto es:

0 = ()

pero esto ser difcil de que ocurra; seguramente el valor inicial principal
proporcionado xo ser solo un valor cercano a la raz. Entonces, en el caso
general:

0 =/ (0) o bien, 1 = (0)

donde x1 es la nueva aproximacin de la raz a. se sustituye x1 en el


segundo miembro de la ecuacin (3) y se obtiene:

2 = (1)

Al proceder reiteradamente en esta forma se induce que la n-sima


aproximacin es:

= ( 1)
= 1,2,3,

De acuerdo con lo visto en los temas anteriores, puede afirmarse que si el


mtodo converge, la diferencia en valor absoluto entre valores proporcionados en
dos iteraciones sucesivas ser cada vez ms pequea a medida que aumente, y
con esto se tendr un criterio para saber cundo termina la aplicacin del mtodo.

Es posible afirmar que si en la iteracin el mtodo se est


aproximando a la raz o converge a ella, entonces:

| |
|()| = <1
| 1|

Es decir, el mtodo es convergente si:

|()| < 1 1 < <

Esto significa que el mtodo converge en la iteracin cuando el


valor absoluto de la derivada de () en cualquier punto del intervalo ( 1, )
es menor que la unidad.

Por otra parte el mtodo es divergente si:

| | > | 1|

Recordar que el mtodo de Punto Fijo, nos dice que, solo podra haber y
tener un nico punto o raz.

Mtodo de Newton-Raphson

Este mtodo es uno de los ms utilizados para localizar races ya que en


general es muy eficiente y siempre converge para una funcin polinomial.

Se requiere que las funciones sean diferenciables, y por tanto, continuas,


para poder aplicar este mtodo.
Se debe partir de un valor inicial para la raz: este puede ser cualquier
valor, el mtodo convergir a la raz ms cercana.

Si se extiende una tangente desde el punto ( , ( )), el punto donde esta


tangente cruza al eje representa una aproximacin mejorada de la raz.

La frmula de Newton-Raphson se deduce a partir de la frmula de la


pendiente de una recta.

Pendiente de una recta:

(2 ) (1 ) (+1 ) ( ) 0 ( )
= = =
2 1 +1 +1

= (+1 ) = ( )

( )
+1 =

( )
+1 =
( )

Se defina la derivada de una funcin en un punto dado como la pendiente a


la recta tangente de dicho punto, por lo tanto = ().

Hay que determinar un nmero mximo de iteraciones, normalmente esto


se hace considerando una tolerancia, esto es:
El valor absoluto de la diferencia de la +1 debe ser menor que la
tolerancia o el resultado de alguna frmula de error debe ser menor que la
tolerancia dada.

Una de las frmulas de error ms tiles es la del error relativo porcentual


aproximado:


= | | 100%

El mtodo de Newton-Raphson es convergente cuadrticamente, es decir,


el error es aproximadamente al cuadrado del error anterior. Esto significa que el
nmero de cifras decimales correctas se duplica aproximadamente en cada
interaccin.

Cuando el mtodo de Newton-Raphson converge, se obtienen resultados


en relativamente pocas interacciones, ya que para races no repetidas este
mtodo converge con orden 2 y el error + 1 es proporcional al cuadrado del
resultado anterior .

Supngase que el error en una iteracin es 10 -n el error en la siguiente, (que es


proporcional al cuadrado del error anterior) es entonces aproximadamente 10 -2n,
el que sigue ser aproximadamente 10-4n etc.

De esto puede afirmarse que de cada iteracin duplica aproximadamente el


nmero de dgitos correctos.

Sin embargo el mtodo de Newton-Raphson algunas veces no converge, sino que


oscila. Esto ocurre si no hay raz real, si la raz es un punto de inflexin o si el
valor inicial est muy alejado de la raz buscada y alguna otra parte de la funcin
atrapa la iteracin.

Mtodo de la secante

El principal inconveniente del mtodo de Newton estriba en que requiere conocer


el valor de la primera derivada de la funcin en el punto. Sin embargo, la forma
funcional de f(x) dificulta en ocasiones el clculo de la derivada. En estos casos es
ms til emplear el mtodo de la secante.

El mtodo de la secante parte de dos puntos (y no slo uno como el mtodo de


Newton) y estima la tangente (es decir, la pendiente de la recta) por una
aproximacin de acuerdo con la expresin:
(1) 0
(0) =
1 0

Sustituyendo esta expresin en la ecuacin del mtodo de Newton, obtenemos la


expresin del mtodo de la secante que nos proporciona el siguiente punto de
iteracin:

1 0
2 = 0
(1) (0)

Figure: Representacin geomtrica del


mtodo de la secante.

En la siguiente iteracin, emplearemos los puntos x1 y x2para estimar un nuevo


punto ms prximo a la raz de acuerdo con la ecuacin. En la figura se
representa geomtricamente este mtodo.

En general, el mtodo de la secante presenta las mismas ventajas y limitaciones


que el mtodo de Newton-Raphson explicado anteriormente.

Ejemplo.

Efecte tres iteraciones del mtodo de la secante para la funcin

() = 1 con 0 = 1 y 1 = 2.

(1)(1 0) (22 1)(2 1)


2 = 1 = 2 = 1.16224
(1) (0) (22 1)(1 1)
(2)(2 1)
3 = 2 = 1.12364
(2) (1)

(3)(3 2)
4 = 3 = 1.113511
(3) (1)

Para este caso

(4) = 0.000896772969|(4)| < 0.0009.

Este ejercicio se resolvi con el mtodo de biseccin en la seccin anterior


y en la novena iteracin |(9)| = 0.001216. ..

El mtodo de la secante converge a la solucin ms lentamente que el


mtodo de Newton, pero tiene la ventaja de no usar la derivada en cada iteracin.

Formula de la secante:

y (1) (0)
() =
x 1 0
Conclusin

Los mtodos estudiados para obtener races de ecuaciones son muy


variados, aunque la mayora se basan en criterios de convergencia en clculos de
iteraciones, aunque dependiendo de la funcin algunos resultan mejores que otros
en cuanto a exactitud, precisin y rapidez del clculo.

Los mtodos de falsa posicin tienen la ventaja de que, una vez establecido
un intervalo en el que se sabe que la funcin es continua y tiene una raz, el
resultado siempre ser convergente, su clculo es sencillo y tiene buena exactitud.
Por otra parte, su clculo puede llegar a ser muy lento por la cantidad de
iteraciones necesarias para llegar a un buen resultado, adems de que
nicamente pueden obtener races reales.

Por otro lado, otros mtodos como los de Newton-Rhapson, iteracin de


punto fijo o secante tambin cuentan con buena exactitud y se puede obtener un
resultado con mayor rapidez, adems de que no se limita solamente a races
reales, sino que tiene una aplicacin en general. Sin embargo, tienen la
desventaja de que pueden no converger siempre a un resultado, sino que divergen
de l.

Por ello, es necesario definir bien cul es el mejor mtodo para calcular la
raz de cierta funcin de manera que podamos obtener un resultado de la manera
ms eficaz, rpida y precisa.
Bibliografa

Chapra, S. C. (2007). M[etodos num[ericos para ingenieros. Mxico, DF: McGraw-Hill


Interamericana.

Mathews, J. H. (2000). Mtodos Numricos con MATLAB. Madrid, Espaa: PRETINCE HALL.

Rodrguez, P. I. (2005). MTODOS NUMRICOS. San Gil, Santander, Colombia: UNISANGIL.

Sevilla, D. d. (2013). Apuntes de la asignatura Matemticas Aplicadas a la Biologa. Sevilla, Espaa:


Universidad de Sevilla.

Das könnte Ihnen auch gefallen