determinación de bucles en el método de newton
DESCRIPTION
Se utiliza el programa Mathematica para determinar parejas de puntos que conducen a un bucle en la aplicación del método de Newton para resolver ecuaciones de forma aproximada.TRANSCRIPT
Prácticas de Matemáticas con Mathematica .
Fundamentos de Matemáticas III . Grado en Ingeniería Civil.
Práctica nº 2 (continuación). Métodos de resolución aproximada de ecuaciones.
Departamento de Matemática Aplicada.E.P.S. de Zamora
Universidad de Salamanca
Ejemplo 6: La función f HxL = x53
- 2 x3 Sin[x] -20Sin 2[x] tiene una raiz en el intervalo (2,6). Deter-
mine el intervalo donde hay que elegir el punto de arranque x0 en el método de Newton para obtener conver-gencia a esa raiz.
f@x_D := Hx^H1 � 3LL^5 - 2 x^3 Sin@xD - 20 Sin@xD^2
El Mathematica no trabaja con el valor real para las raices de índice impar y radicando negativo, así quedefiniremos nuestra propia función para hallar la raiz cúbica.
Plot@x^H1 � 3L, 8x, -4, 4<DH* obsérvese que no
dibuja la parte de la gráfica correspondiente a
valores negativos de la variable independiente*L
-4 -2 2 4
0.5
1.0
1.5
raiz3@x_D := If@x ³ 0, x^H1 � 3L, -HH-xL^H1 � 3LLDH*esta será nuestra raíz cúbica,
y ahora sí que se dibuja la gráfica completa*LPlot@raiz3@xD, 8x, -4, 4<D
-4 -2 2 4
-1.5
-1.0
-0.5
0.5
1.0
1.5
Utilizando esta raiz cúbica la función f(x), que denotaremos ahora por fm(x) se escribe:
fm@x_D := raiz3@xD^5 - 2 x^3 Sin@xD - 20 Sin@xD^2
Plot@fm@xD, 8x, -5, 5.2<D
-4 -2 2 4
50
100
150
200
250
Para hallar los valores a,b que den lugar a un posible bucle en el método de Newton hemos de resolver elsistema siguiente, tomando como puntos de partida valores en el intervalo (2,6):
FindRootB:a -f@aD
f'@aD� b, b -
f@bDf'@bD
� a>, 8a, 2.16<,
8b, 5<, MaxIterations ® 200, WorkingPrecision ® 50F
8a ® 2.1654089718798745299479799727235865545822483967525,
b ® 5.0227263182941152467076575641193896601247901061503<La función de iteración del método de Newton se escribe:
2 3 FM III (26-9-2012) Bucles en el método de Newton.nb
g@x_D = x - f@xD � f'@xD
x - Ix5�3- 2 x3 Sin@xD - 20 Sin@xD2M �
5 x2�3
3- 2 x3 Cos@xD - 6 x2 Sin@xD - 40 Cos@xD Sin@xD
Pero como nos vuelven a aparecer raices cúbicas, utilizamos la funcion raiz cúbica definida por nosotros, yqueda la función de iteración modificada gm(x) siguiente:
gm@x_D := x - Iraiz3@xD^5 - 2 x3 Sin@xD - 20 Sin@xD2M �
5 raiz3@xD^2
3- 2 x3 Cos@xD - 6 x2 Sin@xD - 40 Cos@xD Sin@xD
Cuando iteremos y la función de iteración se aplique a valores positivos podremos utilizar la función g(x) ogm(x) pues es lo mismo, pero cuando aparezcan valores negativos deberemos usar la gm(x):
Si partimos del valor inicial x0 = a =2.1654089718798745299479799727 o del valorx0 = b =5.0227263182941152467076575641 obtendremos un bucle:
SetPrecision@NestList@g,
2.165408971879874529947979972723586554582248396752452328943�
4189585088`50., 18D, 50D82.1654089718798745299479799727235865545822483967525,
5.0227263182941152467076575641193896601247901061503,
2.1654089718798745299479799727235865545822483967525,
5.0227263182941152467076575641193896601247901061503,
2.1654089718798745299479799727235865545822483967525,
5.0227263182941152467076575641193896601247901061503,
2.1654089718798745299479799727235865545822483967525,
5.0227263182941152467076575641193896601247901061503,
2.1654089718798745299479799727235865545822483967523,
5.0227263182941152467076575641193896601247901061418,
2.1654089718798745299479799727235865545822483968323,
5.0227263182941152467076575641193896601247901051093,
2.1654089718798745299479799727235865545822484054604,
5.0227263182941152467076575641193896601247899937225,
2.1654089718798745299479799727235865545821662291413,
5.0227263182941152467076575641193896601267506092263,
2.1654089718798745299479799727235865545464501102785,
5.0227263182941152467076575641193896605851934060470,
2.1654089718798745299479799727235865508407041693113<
3 FM III (26-9-2012) Bucles en el método de Newton.nb 3
SetPrecision@NestList@g,
5.022726318294115246707657564119389660124790106150300687239�
6525073291`50., 18D, 50D85.0227263182941152467076575641193896601247901061503,
2.1654089718798745299479799727235865545822483967525,
5.0227263182941152467076575641193896601247901061503,
2.1654089718798745299479799727235865545822483967525,
5.0227263182941152467076575641193896601247901061503,
2.1654089718798745299479799727235865545822483967525,
5.0227263182941152467076575641193896601247901061503,
2.1654089718798745299479799727235865545822483967524,
5.0227263182941152467076575641193896601247901061507,
2.1654089718798745299479799727235865545822483967481,
5.0227263182941152467076575641193896601247901061959,
2.1654089718798745299479799727235865545822483963445,
5.0227263182941152467076575641193896601247901114117,
2.1654089718798745299479799727235865545822484993426,
5.0227263182941152467076575641193896601256516973599,
2.1654089718798745299479799727235865545728987331720,
5.0227263182941152467076575641193896601855253267674,
2.1654089718798745299479799727235865543348611271305,
5.0227263182941152467076575641193896633476051304794<Para valores de arranque dentro del intervalo (a,b) el procedimiento será convergente a la raiz en el intervalo
dado:
4 3 FM III (26-9-2012) Bucles en el método de Newton.nb
SetPrecision@NestList@g, 2.17, 18D, 50D82.1699999999999999289457264239899814128875732421875,
4.9646504913315183671329577919095754623413085937500,
2.5569077001586242303687868115957826375961303710938,
3.2690087341960509803584500332362949848175048828125,
3.0619105625848201945871096540940925478935241699219,
3.0323061185798927397172519704326987266540527343750,
3.0317354280340027550266768230358138680458068847656,
3.0317352187764825544036284554749727249145507812500,
3.0317352187764541326941980514675378799438476562500,
3.0317352187764541326941980514675378799438476562500,
3.0317352187764541326941980514675378799438476562500,
3.0317352187764541326941980514675378799438476562500,
3.0317352187764541326941980514675378799438476562500,
3.0317352187764541326941980514675378799438476562500,
3.0317352187764541326941980514675378799438476562500,
3.0317352187764541326941980514675378799438476562500,
3.0317352187764541326941980514675378799438476562500,
3.0317352187764541326941980514675378799438476562500,
3.0317352187764541326941980514675378799438476562500<SetPrecision@NestList@g, 5., 18D, 50D85.0000000000000000000000000000000000000000000000000,
2.3390985090680613822655686817597597837448120117188,
3.7787341103397795727403263299493119120597839355469,
3.2381647032971501154463567218044772744178771972656,
3.0550974953940115419470657798228785395622253417969,
3.0320792841518904303654835530323907732963562011719,
3.0317352947956019981745612312806770205497741699219,
3.0317352187764581294970867020310834050178527832031,
3.0317352187764541326941980514675378799438476562500,
3.0317352187764541326941980514675378799438476562500,
3.0317352187764541326941980514675378799438476562500,
3.0317352187764541326941980514675378799438476562500,
3.0317352187764541326941980514675378799438476562500,
3.0317352187764541326941980514675378799438476562500,
3.0317352187764541326941980514675378799438476562500,
3.0317352187764541326941980514675378799438476562500,
3.0317352187764541326941980514675378799438476562500,
3.0317352187764541326941980514675378799438476562500,
3.0317352187764541326941980514675378799438476562500<Que no haya convergencia a la raiz buscada no significa que no pueda haber convergencia hacia otra raiz. El
valor x0 = 5.1 no está en el intervalo (a,b), y sin embargo sí que da lugar a un procedimiento convergente hacia laraiz 0.0001250000013671876699337948135593
3 FM III (26-9-2012) Bucles en el método de Newton.nb 5
SetPrecision@NestList@g, 5.1, 30D, 50D85.0999999999999996447286321199499070644378662109375,
1.2420895659205140049152760184369981288909912109375,
0.25125767813459254362840056273853406310081481933594,
0.12544771454904984908651499608822632580995559692383,
0.063619671956425163927839605548797408118844032287598,
0.032519227141962508964567746261309366673231124877930,
0.016743513827330445270513692435088159982115030288696,
0.0086969102940712278426715897694521117955446243286133,
0.0045693537262165035556238379399474069941788911819458,
0.0024378661625497092743652949309307587100192904472351,
0.0013282480474348802145651005091053775686305016279221,
0.00074520444140108025362495558496789271885063499212265,
0.00043597596258775127373713553780021356942597776651382,
0.00027116645030489161310657819647929045459022745490074,
0.00018458121677206141501154101902670845447573810815811,
0.00014265493953794107897040110977116000867681577801704,
0.00012748488933667239428153272751131908080424182116985,
0.00012506287779421714498676032611967912089312449097633,
0.00012500004348665446555870228717566305931541137397289,
0.00012500000136720672478697624629973006449290551245213,
0.00012500000136718761572368618928408068313729017972946,
0.00012500000136718766993379481355930238350993022322655,
0.00012500000136718766993379481355930238350993022322655,
0.00012500000136718766993379481355930238350993022322655,
0.00012500000136718766993379481355930238350993022322655,
0.00012500000136718766993379481355930238350993022322655,
0.00012500000136718766993379481355930238350993022322655,
0.00012500000136718766993379481355930238350993022322655,
0.00012500000136718766993379481355930238350993022322655,
0.00012500000136718766993379481355930238350993022322655,
0.00012500000136718766993379481355930238350993022322655<Una gráfica detallada en un intervalo que contenga la raiz anterior nos muestra que en efecto hay una raiz en
ese punto, la cual en una gráfica con una escala mayor resulta inapreciable.
6 3 FM III (26-9-2012) Bucles en el método de Newton.nb
Plot@fm@xD, 8x, -0.00001,
0.0001250000013671876699337948135593023835099302232265<D
0.00002 0.00004 0.00006 0.00008 0.00010 0.00012
-5. ´ 10-9
5. ´ 10-9
1. ´ 10-8
1.5 ´ 10-8
2. ´ 10-8
El punto 1.9 tampoco pertence al intervalo (a,b) pero el método de Newton con ese punto de arranqueconverge a otra raiz de f(x).
3 FM III (26-9-2012) Bucles en el método de Newton.nb 7
SetPrecision@NestList@gm, 1.9, 30D, 50D81.8999999999999999111821580299874767661094665527344,
-20.161836985234959485069339280016720294952392578125,
-17.724480012060041644872399047017097473144531250000,
-20.925903400772536855356520391069352626800537109375,
-23.388803032506984891369938850402832031250000000000,
-20.109017557022212940864847041666507720947265625000,
-17.969972624374108249867276754230260848999023437500,
-19.463322140334494037006152211688458919525146484375,
-18.818253940803913337731501087546348571777343750000,
-18.839660497773369485230432474054396152496337890625,
-18.839581478882610809932884876616299152374267578125,
-18.839581477847669788161510950885713100433349609375,
-18.839581477847669788161510950885713100433349609375,
-18.839581477847669788161510950885713100433349609375,
-18.839581477847669788161510950885713100433349609375,
-18.839581477847669788161510950885713100433349609375,
-18.839581477847669788161510950885713100433349609375,
-18.839581477847669788161510950885713100433349609375,
-18.839581477847669788161510950885713100433349609375,
-18.839581477847669788161510950885713100433349609375,
-18.839581477847669788161510950885713100433349609375,
-18.839581477847669788161510950885713100433349609375,
-18.839581477847669788161510950885713100433349609375,
-18.839581477847669788161510950885713100433349609375,
-18.839581477847669788161510950885713100433349609375,
-18.839581477847669788161510950885713100433349609375,
-18.839581477847669788161510950885713100433349609375,
-18.839581477847669788161510950885713100433349609375,
-18.839581477847669788161510950885713100433349609375,
-18.839581477847669788161510950885713100433349609375,
-18.839581477847669788161510950885713100433349609375<Plot@fm@xD, 8x, -20, -16<D
-19 -18 -17 -16
-15 000
-10 000
-5000
5000
10 000
La función dada tiene infinitas raíces debido a su carácter oscilatorio, y para hallar cualquiera de sus raíces seprocedería de manera parecida a como se ha hecho anteriormente.
8 3 FM III (26-9-2012) Bucles en el método de Newton.nb
La función dada tiene infinitas raíces debido a su carácter oscilatorio, y para hallar cualquiera de sus raíces seprocedería de manera parecida a como se ha hecho anteriormente.
Plot@fm@xD, 8x, -20, 20<D
-20 -10 10 20
-5000
5000
10 000
Ejemplo 7: La función f HxL = Exp@xD - 4 + 10 Cos@xD tiene tres raíces en el intervalo (-3,3). Determine sihay bucles en el método de Newton para hallar dichas raíces.
Vamos a intentar localizar la existencia de bucles en el cálculo de las tres raíces más cercanas al origen de lafunción f[x_] = Exp[x] - 4 + 10 Cos[x] mediante el método de Newton
f@x_D := Exp@xD - 4 + 10 Cos@xD;
Plot@f@xD, 8x, -3, 3<DH* en esta gráfica observamos
la situación de cada una de las tres raíces *L
-3 -2 -1 1 2 3
-10
-5
5
g@x_D = x - f@xD � f'@xD
x --4 + ãx + 10 Cos@xD
ãx - 10 Sin@xDPara la raiz más a la izquierda encontramos que hay un bucle, de manera que cuando aplicamos el método deNewton tomando como punto de arranque uno de los puntos del bucle no encontramos la raiz
sol = FindRootB:a -f@aD
f'@aD� b, b -
f@bDf'@bD
� a>, 8a, -2.6<,
8b, -0.2<, MaxIterations ® 200, WorkingPrecision ® 50F
8a ® -2.6041247338665255484852180147423666349625778731837,
b ® -0.19421145442237549751881352687901025502655622699300<
3 FM III (26-9-2012) Bucles en el método de Newton.nb 9
x0 = a �. sol;
cont = 0;
x1 = SetPrecision@g@x0D, 50D;
val = SetPrecision@f@x1D, 50D;
cont = 1;
While@Or@Hval > 10^H-25LL, HAbs@x1 - x0D > 10^H-25LLD &&
cont < 50, x0 = x1; x1 = SetPrecision@g@x0D, 50D;val = SetPrecision@f@x1D, 50D; cont++D;
Print@"raiz aprox.:", x1, " Nº iteraciones:", contDraiz aprox.:
-2.6041247338665255661057206302678866412459608963685
Nº iteraciones:50
En el caso de la segunda raiz, también es posible localizar un bucle, de manera que tomando como punto dearranque uno de los puntos del bucle, no encontramos la raiz buscada:
sol = FindRootB:a -f@aD
f'@aD� b, b -
f@bDf'@bD
� a>, 8a, 0.64<,
8b, 2.08<, MaxIterations ® 200, WorkingPrecision ® 50F
8a ® 0.64118715293667955625629344114053057889124618218721,
b ® 2.0893807311681597648213667475109121354306916709494<x0 = a �. sol;
cont = 0;
x1 = SetPrecision@g@x0D, 50D;
val = SetPrecision@f@x1D, 50D;
cont = 1;
While@Or@Hval > 10^H-25LL, HAbs@x1 - x0D > 10^H-25LLD &&
cont < 50, x0 = x1; x1 = SetPrecision@g@x0D, 50D;val = SetPrecision@f@x1D, 50D; cont++D;
Print@"raiz aprox.:", x1, " Nº iteraciones:", contDraiz aprox.:
0.64118715293667874705696448504862111617408514774944
Nº iteraciones:50
En el caso de la raiz más a la derecha no es posible encontrar un bucle, pues en un entorno de esta raiz lafunción es cóncava hacia arriba. El intento de localizar un bucle conduce a obtener la raiz buscada.
10 3 FM III (26-9-2012) Bucles en el método de Newton.nb
sol = FindRootB:a -f@aD
f'@aD� b, b -
f@bDf'@bD
� a>, 8a, 2.2<,
8b, 3.24<, MaxIterations ® 200, WorkingPrecision ® 50F
8a ® 2.4710462214620171716783473367712184781212212223357,
b ® 2.4710462214620171716783473367712184781212212223357<x0 = a �. sol;
cont = 0;
x1 = SetPrecision@g@x0D, 50D;
val = SetPrecision@f@x1D, 50D;
cont = 1;
While@Or@Hval > 10^H-25LL, HAbs@x1 - x0D > 10^H-25LLD &&
cont < 50, x0 = x1; x1 = SetPrecision@g@x0D, 50D;val = SetPrecision@f@x1D, 50D; cont++D;
Print@"raiz aprox.:", x1, " Nº iteraciones:", contDraiz aprox.:
2.4710462214620171716783473367712184781212212223357
Nº iteraciones:1
A continuación aparece un dibujo donde se muestra la dinámica del método de Newton. Si r es una raiz def(x) entonces se tiene que g(r)=r-f(r)/f’(r)=r, es decir, las raíces de f(x) son puntos fijos de g(x), que son lospuntos donde g(x) corta a la recta diagonal y=x. Los puntos en rojo y verde señalan los extremos de los buclespara cada una de las raíces.
3 FM III (26-9-2012) Bucles en el método de Newton.nb 11
Plot@8x, g@xD<, 8x, -4, 4<,
AspectRatio ® Automatic, PlotRange ® 4,
Epilog ® [email protected], Red, [email protected], 0<D,
[email protected], 0<D, Green,
[email protected], 0<D, [email protected], 0<D<D
-4 -2 2
-4
-2
2
4
En los puntos donde se anula el denominador de g(x) habrá asíntotas verticales.A continuación aparece undibujo donde se muestra el denominador de g(x) indicando que hay infinitas asíntotas verticales hacia laizquierda.
12 3 FM III (26-9-2012) Bucles en el método de Newton.nb
Plot@ãx
- 10 Sin@xD, 8x, -20, 4<D
-20 -15 -10 -5
-10
10
20
30
3 FM III (26-9-2012) Bucles en el método de Newton.nb 13