Documentos de Académico
Documentos de Profesional
Documentos de Cultura
nb 1
Prctica 5
Mtodos de resolucin numrica de
ecuaciones
El objetivo de esta prctica es resolver una ecuacin del tipo f(x)=0 aplicando un mtodo numrico. Cuando
queramos emplear algn mtodo numrico para aproximar una posible raz de una ecuacin, lo primero que
tenemos que estudiar es si dicha ecuacin tiene soluciones reales y comprobar que se dan las condiciones nece-
sarias para poder aplicar el mtodo correspondiente.
Siempre ser interesante representar grficamente la funcin f(x) en un intervalo apropiado. De esta manera, la
ecuacin tendr una interpretacin geomtrica clara, y nos guiar en la bsqueda de los puntos de corte de la
grfica de dicha funcin con el eje OX.
Los mtodos que vamos a estudiar generan una sucesin { xn }, nN, de valores aproximados de la solucin.
En algunos mtodos numricos (biseccin y punto fijo) se dispone de una cota del error de aproximacin.
xn - xn-1
xn
Si no se dispone de una cota del error de aproximacin puede tomarse la cantidad en = .
1. Mtodo de Biseccin
Sea f:[a,b]R una funcin continua en [a,b] y supongamos que f(a) f(b)<0.
El mtodo de biseccin genera una sucesin de intervalos encajados y en cada iteracin la aproximacin xn es el
an + bn
punto medio del intervalo, y viene dada por xn = .
Una cota del error cometido en la n-sima iteracin viene dada por en = xn - s
2
b-a
2n+1
Ejemplo 1.1 Aplicar el mtodo de biseccin con 10 iteraciones para obtener una
solucin aproximada de la ecuacin 2 x - sen x - 1 = 0 y dar una cota del error
cometido.
Definimos la funcin
Clear@"Global`"D
f@x_D := 2 x Sin@xD 1
Practica5_Resolucion_Ecuaciones.nb 2
f@0D
f@1D N
0.158529
f '@xD
2 Cos@xD
3.0
2.5
2.0
1.5
1.0
0.5
4 2 2 4
True
Practica5_Resolucion_Ecuaciones.nb 3
a0 = 0; b0 = 1; niter = 10;
an + bn
DoBxn = ;
FF
b0 a0
" con error menor que " , NB
2niter+1
f@0D
f@2D N
1.41615
f '@xD
1 Sin@xD
0.5
1.0
1.5
2.0
FullSimplify@f '@xD 0, 0 x 2D
True
Al ser la derivada distinta de cero para todo x [0,2], la solucin es nica en dicho intervalo y, por tanto, en todo
R (por la observacin anterior).
Aplicamos el algoritmo de biseccin: en este caso no conocemos el nmero de iteraciones que hemos de
realizar, por lo que utilizaremos una instruccin que nos permita interrumpir el algoritmo cuando haya-
mos alcanzado la precisin deseada. Si el nmero de cifras decimales exactas que queremos conseguir
es ncifras, entonces el error debe ser menor que 12 10ncifras .
Practica5_Resolucion_Ecuaciones.nb 5
1
a0 = 0; b0 = 2; ncifras = 5; = 10ncifras ; n = 0;
2
an + bn
WhileBTrue, xn = ;
2
2. Mtodo de Newton-Raphson
sucesin de valores xk . Para ello utiliza las rectas tangentes a la grfica de la funcin en los puntos ( xk , f Hxk ))
El mtodo de Newton-Rapshon parte de un valor inicial x0 y tambin ahora se construye iterativamente una
calculando el punto de corte de stas con el eje OX , de esta forma se aproxima la raz buscada. Para que este
mtodo funcione correctamente ser necesario que la derivada de la funcin no est prxima a cero, al menos en
cierto entorno de la raz, ya que de lo contrario se podra producir una divisin entre cero o bien la creacin de
enormes errores de redondeo al dividir entre cantidades muy pequeas.
Las condiciones suficientes para la convergencia del mtodo de Newton-Raphson son las siguientes: Sea
f:[a,b]R fC 2 [a,b]. Si se cumple:
i) f(a) f(b) <0
ii) f' (x) 0, "x[a,b]
iii) f''(x) no cambia de signo en todo el intervalo,
entonces, si partimos de cualquier punto inicial x0 [a,b] con la condicin de que f( x0 ) f '' ( x0 ) > 0, la sucesin
{xn } dada por
f Hxn L
f ' Hxn L
xn+1 = xn - , n = 0, 1, 2...
valor en = xn - xn-1 .
Acotacin del error: No se dispone de cota del error cometido en la n-sima iteracin, por lo que utilizamos el
Practica5_Resolucion_Ecuaciones.nb 6
Clear["Global`*"]
f[x_]:=x^3 + 4 x - 10
f[1]
f[2]
f'[x]
4 + 3 x2
Practica5_Resolucion_Ecuaciones.nb 7
80
60
40
20
4 2 2 4
True
f ''@xD
6x
Practica5_Resolucion_Ecuaciones.nb 8
12
10
FullSimplify@f ''@xD 0, 1 x 2D
True
Para generar la sucesin tomamos un valor inicial x0 [1,2] tal que f( x0 L f '' Hx0 ) > 0. Generalmente se suele tomar
uno de los extremos del intervalo.
f[1] f''[1]
30
f[2] f''[2]
72
Luego tomamos x0 = 2.
x0 = 2; niter = 5;
f@xn1 D
, 8n, 1, niter<F;
f '@xn1 D
DoBxn = xn1
Tambin podemos resolverla utilizando la instruccin FindRoot [ecuacin, {x, x0 }]que encuentra un valor aproxi-
mado de la solucin de la ecuacin dada (en este caso suponemos que en la variable x) partiendo del valor inicial
x0 y aplicando el mtodo de Newton-Raphson.
8x 1.55677<
Condiciones de convergencia del mtodo de punto fijo. Las condiciones suficientes para la existencia de punto
i) FC1 @a, bD
fijo de F:[a,b]R son las siguientes:
en cuyo caso existe una nica solucin de la ecuacin F(x) = x en [a,b]. Adems, la sucesin { xn }dada por xn+1 =
F(xn ), n = 0,1,2.... converge a dicha solucin, siendo x0 un punto arbitrario del intervalo [a,b].
Acotacin del error: en la n-sima iteracin viene dado por: en = xn - s x1 - x0 , siendo K la con-
Kn
1-K
stante que aparece en la condicin iii) , x0 el iterante inicial y x1 =F( x0 ).
Ejemplo 3.1 Aplicar el mtodo de punto fijo para resolver la ecuacin 2 x - sen (x) -
1 = 0 con 20 iteraciones. Dar una cota del error cometido.
En el Ejemplo 1.1 hemos probado que la ecuacin tiene solucin nica en el intervalo [0, 1]. Adems
HsenHxL + 1L.
1
Entonces aplicamos el mtodo de punto fijo a la funcin FHxL =
2
Definimos la funcin F(x)
Clear@"Global`"D
HSin@xD + 1L
1
@x_D :=
2
'[x]
Cos@xD
2
1.0
0.8
0.6
0.4
0.2
1.0
0.8
0.6
0.4
0.2
Grficamente se observa que el valor mximo del valor absoluto de la derivada se alcanza en x=0.
Abs@ @0DD
1
2
Como se cumplen las tres condiciones, la sucesin dada por xn+1 =F( xn ), n0, converge a la solucin de la
ecuacin partiendo de cualquier punto x0 del intervalo [0,1].
1
K= ; x0 = 1; niter = 20;
Abs@x1 x0 DFF
Kniter
PrintB"El error cometido es ", NB
1K
4. Ejercicios propuestos