Determinación de bucles en el método de Newton

13
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 H xL = x 5 3 - 2 x 3 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 x 0 en el método de Newton para obtener conver- gencia a esa raiz. f@x_D := Hx^ H1 3LL ^5 - 2x^3Sin@xD - 20 Sin@xD ^2 El Mathematica no trabaja con el valor real para las raices de índice impar y radicando negativo, así que definiremos 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

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 of Determinación de bucles en el método de Newton

Page 1: Determinación de bucles en el método de Newton

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

Page 2: Determinación de bucles en el método de Newton

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

Page 3: Determinación de bucles en el método de Newton

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

Page 4: Determinación de bucles en el método de Newton

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

Page 5: Determinación de bucles en el método de Newton

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

Page 6: Determinación de bucles en el método de Newton

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

Page 7: Determinación de bucles en el método de Newton

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

Page 8: Determinación de bucles en el método de Newton

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

Page 9: Determinación de bucles en el método de Newton

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

Page 10: Determinación de bucles en el método de Newton

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

Page 11: Determinación de bucles en el método de Newton

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

Page 12: Determinación de bucles en el método de Newton

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

Page 13: Determinación de bucles en el método de Newton

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