Está en la página 1de 12

Practica5_Resolucion_Ecuaciones.

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.

El error cometido en la n-sima aproximacin viene dado por en = xn - s .


El mtodo se dice que es convergente si se cumple limn xn = s, donde s es la solucin de la ecuacin f(x) = 0.

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 = .

Existencia de solucin (Teorema de Bolzano)


Si f es una funcin continua en [a, b] y f(a) f(b) < 0, entonces existe al menos un s (a, b) tal que f(s) = 0.

Unicidad de solucin (Corolario del Teorema de Rolle)


Si f' '(x) 0 para todo x (a,b), entonces f se anula a lo sumo una vez en el intervalo [a,b]

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

Buscamos un intervalo donde haya alternancia de signo

f@0D

f@1D N

0.158529

Luego existe solucin en el intervalo [0,1].


Unicidad de la solucin

f '@xD

2 Cos@xD

Plot@80, f '@xD<, 8x, 5, 5<D

3.0

2.5

2.0

1.5

1.0

0.5

4 2 2 4

FullSimplify@f '@xD 0, x RealsD

True
Practica5_Resolucion_Ecuaciones.nb 3

Al ser la derivada distinta de cero para todo x R, la solucin es nica.


Aplicamos el algoritmo de biseccin

a0 = 0; b0 = 1; niter = 10;
an + bn
DoBxn = ;

If@f@xn D 0, Print@"Solucin exacta", xn D; Break@DD;


2

If@f@xn D f@an D < 0, an+1 = an ; bn+1 = xn , an+1 = xn ; bn+1 = bn D,


8n, 0, niter<F;

PrintB"Solucin aproximada = ", N@xniter D,

FF
b0 a0
" con error menor que " , NB
2niter+1

Solucin aproximada = 0.888184 con error menor que 0.000488281

Ejemplo 1.2 Aplicar el mtodo de biseccin para obtener una solucin


aproximada de la ecuacin 1+ cos x - x = 0 con una precisin de 5 cifras decimales
exactas.
En primer lugar observemos que si x es una solucin de la ecuacin x = 1 - cos x entonces x [0, 2], es decir fuera
del intervalo [0,2] no hay soluciones de la ecuacin.
Definimos la funcin

f@x_D := 1 + Cos @xD x


Clear@"Global`"D

Buscamos un intervalo donde haya alternancia de signo

f@0D

f@2D N

1.41615

Luego existe solucin en el intervalo [0,2].


Unicidad de la solucin
Practica5_Resolucion_Ecuaciones.nb 4

f '@xD

1 Sin@xD

Plot@80, f '@xD<, 8x, 0, 2<D

0.5 1.0 1.5 2.0

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

, Print@" Solucin aproximada ", N@xn D,


b0 a0
IfB
2n+1
" con una precisin de ", ncifras, " decimales."
"Se han necesitado ", n, " iteraciones"D; Break@DF;

If@f@xn D 0, Print@" Solucin exacta ", xn D; Break@DD;

If@f@xn D f@an D < 0, an+1 = an ; bn+1 = xn , an+1 = xn ; bn+1 = bn D; n = n + 1F;

Solucin aproximada 1.28343 con una precisin de


5 decimales. Se han necesitado 18 iteraciones

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...

converge a la solucin de la ecuacin f(x) = 0.

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

Ejemplo 2.1 Aplicar el mtodo de Newton-Raphson para resolver la ecuacin


x3 + 4 x - 10 = 0 con 5 iteraciones y estimar el error cometido.
Definimos la funcin

Clear["Global`*"]
f[x_]:=x^3 + 4 x - 10

Buscamos un intervalo donde se cumplan las hiptesis del teorema de convergencia:

Se cumple i) pues f(1) f(2) < 0.

f[1]

f[2]

Se cumple ii) pues f'(x)0 para todo x[1,2]

f'[x]

4 + 3 x2
Practica5_Resolucion_Ecuaciones.nb 7

Plot@80, f '@xD<, 8x, 5, 5<D

80

60

40

20

4 2 2 4

FullSimplify@f '@xD 0, x RealsD

True

Y se cumple iii) pues f '' (x) > 0 en [1, 2].

f ''@xD

6x
Practica5_Resolucion_Ecuaciones.nb 8

Plot@80, f ''@xD<, 8x, 1, 2<D

12

10

1.2 1.4 1.6 1.8 2.0

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.

Aplicamos el mtodo de newton-Raphson con 5 iteraciones


Practica5_Resolucion_Ecuaciones.nb 9

x0 = 2; niter = 5;
f@xn1 D
, 8n, 1, niter<F;
f '@xn1 D
DoBxn = xn1

Print@"Solucin aproximada = ", N@xniter , 10DD;


Print@"Error estimado = ", N@Abs@xniter xniter1 DDD

Solucin aproximada = 1.556773264

Error estimado = 8.81486 1013

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.

FindRoot[x^3+ 4 x - 10, {x,2}]

8x 1.55677<

3. Mtodo del Punto Fijo


Un punto fijo de una funcin F es un valor x tal que F(x) = x. El problema de encontrar las soluciones de una
ecuacin f(x)=0 y el de encontrar los puntos fijos de una funcin F(x) son equivalentes en el siguiente sentido:
Definiendo F(x)=x-f(x), o F(x) = x + f(x), un punto fijo de F ser una raz de f, o , al contrario, una raz de f ser
un punto fijo de F.

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:

iii) F' (x)K<1, "x[a,b]


ii) F(x)[a,b], "x[a,b]

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

2 x - sen HxL - 1 = 0 2x= sen (x) +1 x= 2 HsenHxL + 1L


1
Practica5_Resolucion_Ecuaciones.nb 10

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

Comprobamos si se cumplen las condiciones suficientes de convergencia:


i) La funcin FC1 @0, 1D

'[x]

Cos@xD
2

ii) F(x)[0,1], "x[0,1]


Podemos comprobarlo representando la grfica de la funcin en el intervalo [0,1] y viendo que su imagen queda
dentro del intervalo [0,1].

Plot@8@xD, 0, 1<, 8x, 0, 1<D

1.0

0.8

0.6

0.4

0.2

0.2 0.4 0.6 0.8 1.0

iii) F' (x)k<1, "x[0,1]


Representamos la grfica de F'(x) en el intervalo [0,1] y tomamos como K el valor mximo en dicho intervalo
(existe por el teorema de Weierstrass)
Practica5_Resolucion_Ecuaciones.nb 11

Plot@8Abs@ @xDD, 0, 1<, 8x, 0, 1<D

1.0

0.8

0.6

0.4

0.2

0.2 0.4 0.6 0.8 1.0

Grficamente se observa que el valor mximo del valor absoluto de la derivada se alcanza en x=0.

Abs@ @0DD

1
2

Luego podemos tomar K=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].

Aplicamos el mtodo con 20 iteraciones:


Practica5_Resolucion_Ecuaciones.nb 12

1
K= ; x0 = 1; niter = 20;

Do@xn = @xn1 D, 8n, 1, niter<D;


2

Print@"Solucin aproximada = ", N@xniter , 10DD;

Abs@x1 x0 DFF
Kniter
PrintB"El error cometido es ", NB
1K

Solucin aproximada = 0.8878622116

El error cometido es 1.51185 107

4. Ejercicios propuestos

EJERCICIO 1.- Al principio de cada ao un banco deposita 1000

al final del quinto ao. El tipo medio de inters anual r @0, 1D de


euros en un fondo de inversin y retira un capital de 6000 euros

esta inversin es solucin de la ecuacin


6000 = 1000 5k=1 H1 + rLk .
Aplicar el mtodo de biseccin para obtener r con un error
-10
10 . Cuntas iteraciones son necesarias?

EJERCICIO 2.- Probar que la ecuacin x 3 + cosHxL + 10 x = 0 tiene


una nica solucin real. Aproximar la solucin usando el mtodo
de Newton-Raphson con 3 iteraciones. Dar una estimacin del
error cometido.

EJERCICIO 3.- Aplicar el mtodo de punto fijo con 10 iteraciones


para aproximar la nica solucin mayor que 2 de la ecuacin
3 x2
- x = 0. Dar una acotacin del error cometido.
1+x 2

También podría gustarte