{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "2D Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " " -1 256 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 257 "" 1 18 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 259 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 260 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 261 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 262 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 1" 0 3 1 {CSTYLE "" -1 -1 "" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 }1 0 0 0 8 4 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 2" 3 4 1 {CSTYLE "" -1 -1 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 8 2 0 0 0 0 0 0 -1 0 }{PSTYLE "" 2 6 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 2 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Warning" 2 7 1 {CSTYLE "" -1 -1 "" 0 1 0 0 255 1 0 0 0 0 0 0 1 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Map le Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 } 3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Plot" 0 13 1 {CSTYLE " " -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {PARA 0 "" 0 "" {TEXT -1 6 " " }}{PARA 3 "" 0 "" {TEXT -1 46 " LABORATORIO DE CALCULO NUMERICO" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 4 "" 0 "" {TEXT -1 2 " " }{TEXT 257 67 "Resoluci\363n num\351rica de ecuaciones diferenciales: enfoques pr\341cticos" }}{PARA 0 "" 0 "" {TEXT -1 1 " \+ " }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{MPLTEXT 1 0 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "restart:with(plots): with(DEtools): with(linalg):" }}{PARA 7 "" 1 "" {TEXT -1 35 "Warning, new definition for adjoint" }}{PARA 7 "" 1 "" {TEXT -1 32 "Warning, new definition for norm" }}{PARA 7 "" 1 "" {TEXT -1 33 "Warning, new definition for trace" }}}{PARA 0 "" 0 "" {TEXT -1 1 " " }}{SECT 1 {PARA 3 "" 0 "" {TEXT 259 48 "Rutinas auxilia res a usar durante esta pr\341ctica." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 100 " Maple, por sus caracteristicas de sof tware matem\341tico eminentemente simb\363lico, tiende a enmascarar " }}{PARA 0 "" 0 "" {TEXT -1 104 "el caracter num\351rico de algunas de \+ sus funciones. Este es el caso de la funci\363n dsolve( ) que es la q ue" }}{PARA 0 "" 0 "" {TEXT -1 105 "resuelve ecuaciones diferenciales. Dada la naturaleza de nuestro curso nos interesa dejar bien claro que " }}{PARA 0 "" 0 "" {TEXT -1 96 "la salida de un m\351todo num\351ric o de resoluci\363n de ecuaciones diferenciales debe ser un mont\363n d e " }}{PARA 0 "" 0 "" {TEXT -1 95 "numeritos, los valores y_n que el m \351todo cree que son una buena aproximaci\363n a la verdadera ( y" }} {PARA 0 "" 0 "" {TEXT -1 42 "desconocida) soluci\363n en los puntos t_ n. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 101 " Por ello hemos encapsulado la rutina dsolve( ) de Maple dentro de otra , diffnum( ), de forma que los " }}{PARA 0 "" 0 "" {TEXT -1 81 "par \341metros que recibe y devuelve son muy similares a la notaci\363n us ada en clase. " }}{PARA 0 "" 0 "" {TEXT -1 106 "El nuevo procedimiento recibe una ecuacion diferencial ecu, un intervalo [t0 tf], un valor \+ inicial y(t0) " }}{PARA 0 "" 0 "" {TEXT -1 95 "y un paso h, as\355 com o el nombre de un m\351todo a elegir. Los posibles m\351todos son los \+ mismos que " }}{PARA 0 "" 0 "" {TEXT -1 40 "admite dsolve( ) en su opc i\363n classical:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 73 " foreuler, heunform, impoly, rk2, rk3, rk4, adambash , abmoulton, etc" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 99 "El procedimiento devuelve una matriz cuya primera fila so n los tiempos tn=t0+n*h, y la segunda los " }}{PARA 0 "" 0 "" {TEXT -1 47 "valores y_n encontrados con el m\351todo num\351rico." } {MPLTEXT 1 0 0 "" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{MPLTEXT 1 0 0 "" }{TEXT -1 0 "" }{MPLTEXT 1 0 0 "" }{TEXT -1 0 "" }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 45 "# Rutina que encapsula el interface de Maple \+ " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "# con respecto a las ecuaciones diferenciales. " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 36 "diffnum:=proc(ecu,t0,tf,y0,h,metodo)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 1 " " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 " \+ local sol,k,i,N,tt,ttl,s,yy;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 2 " " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 " N:=round((tf-t0)/h);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 " ttl:=[seq(t0+k*h,k=0..N)];" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 39 " printf(\"N pasos en diffnum %d\\n\",N); " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 17 " tt:=array(ttl);" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 105 " s:=dsolve(\{ecu,y(t0)=y0\},\{y(t)\},type=nu meric,method=classical[metodo], value=tt,stepsize=h);" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 " yy:=seq(s[2,1][k,2],k=1..N+1);" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 2 " " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " sol:=array(1..2,1..N+1,[ttl,[yy]]);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " RETURN(eval(sol));" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "end:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 93 "Al devolver los resultado s de una forma no standard, podemos tener problemas para plotearlos." }}{PARA 0 "" 0 "" {TEXT -1 96 "La siguiente rutina recibe una matriz g enerada por la rutina anterior y devuelve una estructura " }}{PARA 0 " " 0 "" {TEXT -1 47 "que se puede mandar directamente a un plot( )." } }{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "# Rutina que recibe una matriz de dos filas y prepara para" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "# plotear la fila fila en funci\363 n de la primera (x) " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "graf := proc (A,fila)" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 18 " local data,k,N;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 " N:=coldim(A);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 49 " data : = [seq([A[1,k], A[fila,k]],k = 1 .. N)];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 " RETURN(data);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 5 " end:" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 97 "Finalmente en los casos en que conozcamos la soluci\363n exacta qu erremos compararla con la obtenida" }}{PARA 0 "" 0 "" {TEXT -1 102 "nu m\351ricamente. La siguiente rutina recibe una matriz generada por dif fnum( ) (formada por tn y yn) y " }}{PARA 0 "" 0 "" {TEXT -1 111 "una funci\363n f( ), la soluci\363n exacta. La rutina calcula en los dife rentes tn la discrepancia entre f(tn) e yn," }}{PARA 0 "" 0 "" {TEXT -1 26 "devolviendonos un gr\341fico." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 64 "# Recibimos una soluci\363 n numerica (matriz a) y solucion ok (fun)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "plot_error:=pro c(a,fun,col)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 " local t,y,g,k,dat a;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 14 " t:=row(a,1);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 14 " y:=row(a,2);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 52 " data:=[seq([t[k ],y[k]-fun(t[k])],k=1..coldim(a))];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 " " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 " g:=plot(data,color=col, title=`Error`):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 12 " RETURN(g);" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "end:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 1 " " }{TEXT 258 44 "\277Est \341 bien la soluci\363n num\351rica que obtengo?" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 111 " Ahora nos planteamos l a cuesti\363n principal que nos surge al resolver num\351ricamente una ecuaci\363n diferencial. " }}{PARA 0 "" 0 "" {TEXT -1 97 "\277Me pued o fiar de los numeritos que obtengo? \277Seguir\355a mi proceso f\355s ico esos cauces o comprobar\351" }}{PARA 0 "" 0 "" {TEXT -1 110 "(dema siado tarde) que la alarma disparada por mi programa de control en una central nuclear ha sido realmente " }}{PARA 0 "" 0 "" {TEXT -1 48 "un efecto de un m\351todo y/o paso mal escogido? " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }{MPLTEXT 1 0 0 "" }{TEXT -1 0 "" }}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 50 " El ejemplo del cazador-presa con diversos m\351todo s" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 110 " E n este apartado resolveremos de nuevo el problema cazador-presa pero c on los m\351todos simples que por ahora " }}{PARA 0 "" 0 "" {TEXT -1 111 "conocemos (Euler, Runge-Kutta de diversos ordenes, etc.) para di versos pasos. Todo ello lo compararemos con la" }}{PARA 0 "" 0 "" {TEXT -1 97 "soluci\363n \"exacta\", las \363rbitas periodicas que obt eniamos con el m\351todo por defecto que usa Maple." }}{PARA 0 "" 0 " " {TEXT -1 1 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "# Constan tes que definen el problema" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "a:=0 .6: # Crecimiento de roedores" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 66 "b:=-0.01: # Decaimiento de roedores al encontrarse con un zorro " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 60 "c:=-0.5: # DEcaimiento de z orros en ausencia de roedores" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 65 "d: =0.001: # Beneficio de un zorro al encontrarse con un roedor" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "# Ecuaciones" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "ec1:=D(r)(t) = \+ a*r(t) +b*r(t)*z(t):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "ec2:=D(z)(t ) = c*z(t) + d*r(t)*z(t):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "# Cond iciones iniciales" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "ini1:= r(0)=60 0:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "ini2:= z(0)=40:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "# Resol uci\363n de la ecuaci\363n \"exacta\"" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "ok:=dsolve(\{ec1,ec2,ini1,ini2\},\{r(t),z(t)\},numeric):" }}} {PARA 0 "" 0 "" {TEXT -1 1 " " }{MPLTEXT 1 0 0 "" }}{PARA 0 "" 0 "" {TEXT -1 110 "A continuaci\363n resolvemos por un cierto m\351todo y p aso, pintando la soluci\363n \"exacta\" en rojo (linea continua)" }} {PARA 0 "" 0 "" {TEXT -1 65 "y la otra con puntos azules unidos por li nea discontinua (verde):" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{MPLTEXT 1 0 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 62 "# Resoluci\363n d e la ecuaci\363n por diversos m\351todos que conocemos" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "# Especi ficaci\363n de m\351todo y paso a usar" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "metodo:=foreuler;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "h:=0.2; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "# Tiempo de observaci\363n (meses)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "Tobs:=36:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "N:=rou nd(Tobs/h)+1:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "tt:=array([seq(k*h ,k=0..N)]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 98 "sol:=dsolve(\{ec1,ec2,ini1,ini2\},\{z(t),r(t)\},num eric,method=classical[metodo],stepsize=h,value=tt):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 16 "zr:=[z(t),r(t)]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "ver:= view=[0..180,0..1200]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "g1:=odeplot(ok,zr,0..16,numpoints=50,color=red):" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "g2:=odeplot(sol,zr,0..Tobs,color=bl ue,style=point,ver):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 56 "g3:=odeplot (sol,zr,0..Tobs,color=green,linestyle=3,ver):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "display(g1,g2,g 3);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%'metodoG%)foreulerG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"hG$\"\"#!\"\"" }}{PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "6&-%'CURVESG6$7U7$$\"#S\"\"!$\"$+'F *7$$\"1fWT,]WbT!#9$\"1%z\\(eKh\"Q'!#87$$\"19lr)H!3pVF0$\"12l$oOAwu'F37 $$\"1b#*3>%*\\XYF0$\"1exTn$y*yqF37$$\"1Pd&4!>$y)\\F0$\"1GjE7G[`tF37$$ \"1YE?25-'R&F0$\"1%z\"[LjSZvF37$$\"1t#p%\\VgkeF0$\"1.-SI4NQwF37$$\"1g0 )Qa3/Q'F0$\"1!Q8!3>B4wF37$$\"1.G1Dw+@pF0$\"15[%y>OEX(F37$$\"1-)>kD!3bu F0$\"1=!*4ok:urF37$$\"1GT**oz_XzF0$\"1C7uRP5$z'F37$$\"1?kz')QswQ=#))F0$\"1-xo zR+d`F37$$\"1A_)3**4f&))F0$\"1BB6L%z+*[F37$$\"1BH!y7FUw)F0$\"1:\"*)G1O \"oWF37$$\"1wGb\"*Gkk&)F0$\"1Y?Lj;!>5%F37$$\"1a\"3c$)\\*z#)F0$\"1!)Hw< *>_z$F37$$\"1@kC5W0MzF0$\"1U#z5u(HZNF37$$\"1A5W\"y+$\\vF0$\"1)=\"Q1mua LF37$$\"1i0WTs)\\9(F0$\"1BY;KF37$$\"1mTbTK?+ZF0$\"1%GVcyuDM$F37$$\"1(yxAZ5\"oWF0$ \"1.+wM<#y\\$F37$$\"1zF#>=[3F%F0$\"1@L*3#o^&o$F37$$\"1q-VC:-4TF0$\"1N% ypZlc!RF37$$\"1xw/SRL$)RF0$\"1'Rn8Yd!eTF37$$\"1)y>r\"*zZ*QF0$\"1X#R;1u >W%F37$$\"1;1QiT\"[%QF0$\"1'*eFsu#ev%F37$$\"1jn%4s(\\NQF0$\"1CmSr7s'4& F37$$\"1/$o@D7'pQF0$\"15s5L%H*faF37$$\"1`eDl!>2&RF0$\"1(*)46Y4$QeF37$$ \"1Dp:!ffjrF;F%F0$\"1EjxqZR'f'F37$$\"10*4 :<&3@XF0$\"1K(R/P0\\%pF37$$\"1bVW>DTN[F0$\"1Tt(z\"yAYsF37$$\"1H0;cF9;_ F0$\"1*z)R%Q.qZ(F37$$\"1A\\8XCQgcF0$\"1_r?QI%Qh(F37$$\"1Qv4uZYehF0$\"1 v4^xu)oj(F37$$\"1HG3#4c>p'F0$\"1&[e7gVT`(F37$$\"1xx#\\cuIB(F0$\"1!z:u7 ^aI(F37$$\"1o^X#4!fYxF0$\"1GyfZ=ZkpF37$$\"12Chw!\\X>)F0$\"1(Q(=S4SPlF3 7$$\"1qlJ3E#Ga)F0$\"1(*>Sl3NegF37$$\"1^rlxbJn()F0$\"1Nnk#)o#Hc&F37$$\" 1]nN#>Mw&))F0$\"1p:*p$*3B3&F3-%'COLOURG6&%$RGBG$\"*++++\"!\")F*F*-F$6% 7bvF'7$$\"++++!3%Fi[l$\"++++Si!\"(7$$\"++S=\"=%Fi[l$\"++ghzkFb\\l7$$\" +N\\\"\\I%Fi[l$\"+&e?`r'Fb\\l7$$\"+>6g_WFi[l$\"+y8)H%pFb\\l7$$\"+SviDY Fi[l$\"+5E&y:(Fb\\l7$$\"+*)fDD[Fi[l$\"+?PgatFb\\l7$$\"+.t[_]Fi[l$\"+`# *RFvFb\\l7$$\"+c.)yI&Fi[l$\"+!QX+n(Fb\\l7$$\"+%)fK\"f&Fi[l$\"+ir@wxFb \\l7$$\"+(o!y,fFi[l$\"+?fxRyFb\\l7$$\"+\"QvpB'Fi[l$\"+oiR:wvFb\\l7$$\"+lurAxFi[l$\"+k!fCP(Fb\\l7$$\"+'3a\"*3)Fi[l$\"+%yX% =rFb\\l7$$\"+tF)=V)Fi[l$\"+#=:5#oFb\\l7$$\"+/X(*Q()Fi[l$\"+'*pD*['Fb\\ l7$$\"+#3m#***)Fi[l$\"+2)yP8'Fb\\l7$$\"+D'HL?*Fi[l$\"+7@%ew&Fb\\l7$$\" +tbHW$*Fi[l$\"+bUW'R&Fb\\l7$$\"+>aQ=%*Fi[l$\"+i\")\\N]Fb\\l7$$\"+E@2D% *Fi[l$\"+#pK7p%Fb\\l7$$\"+V!poO*Fi[l$\"+&[w)pVFb\\l7$$\"+aL#)[#*Fi[l$ \"+[/ivSFb\\l7$$\"+!*[$y2*Fi[l$\"+I5!3\"QFb\\l7$$\"+_y#>'))Fi[l$\"+.2A wNFb\\l7$$\"+k#z&4')Fi[l$\"+!*H_rLFb\\l7$$\"+E#p\"H$)Fi[l$\"+gyb&>$Fb \\l7$$\"+Z\"z&G!)Fi[l$\"+fzpYIFb\\l7$$\"+YV$\\r(Fi[l$\"++')3BHFb\\l7$$ \"+W'pWR(Fi[l$\"+*\\IG#GFb\\l7$$\"+o$*[sqFi[l$\"+qM5WFFb\\l7$$\"+%G$R` nFi[l$\"+MIC&o#Fb\\l7$$\"+,SuSkFi[l$\"+`@yWEFb\\l7$$\"+(*oNPhFi[l$\"+; (o9i#Fb\\l7$$\"+*)*)RXeFi[l$\"+!=nUh#Fb\\l7$$\"+&y([mbFi[l$\"+Z0NAEFb \\l7$$\"+_Yy,`Fi[l$\"+np3XEFb\\l7$$\"+;)z?0&Fi[l$\"+tP-#o#Fb\\l7$$\"+) zny\"[Fi[l$\"+i1(Gt#Fb\\l7$$\"+4KT*f%Fi[l$\"+]H[(z#Fb\\l7$$\"+*[2oR%Fi [l$\"+.`%e(GFb\\l7$$\"+.v,5UFi[l$\"+wf0oHFb\\l7$$\"+0r#*QSFi[l$\"+T8Ju IFb\\l7$$\"+#ysL)QFi[l$\"+9.*[>$Fb\\l7$$\"+1XiCYOFb\\l7$$\"+$H=KT$F i[l$\"+:.'z#QFb\\l7$$\"+Z(4KL$Fi[l$\"+pA+ESFb\\l7$$\"+s*y#oKFi[l$\"+TB tSUFb\\l7$$\"+-!\\'=KFi[l$\"+&HACZ%Fb\\l7$$\"+`so%=$Fi[l$\"+>)47s%Fb\\ l7$$\"+i+$p;$Fi[l$\"+jM/()\\Fb\\l7$$\"+8%4h;$Fi[l$\"+@jhp_Fb\\l7$$\"+3 @=$=$Fi[l$\"+VmGobFb\\l7$$\"+08O>KFi[l$\"+KO)>)eFb\\l7$$\"+%y\\hF$Fi[l $\"+eq44iFb\\l7$$\"+XMPbLFi[l$\"+l+NZlFb\\l7$$\"+\">7#fMFi[l$\"+#)fl$* oFb\\l7$$\"+[LA!f$Fi[l$\"+CB'RC(Fb\\l7$$\"+n)\\8v$Fi[l$\"+\\*)3$f(Fb\\ l7$$\"+X:!f%RFi[l$\"+eHdMzFb\\l7$$\"+kA\\xTFi[l$\"+R3ag#)Fb\\l7$$\"+Z* 4*\\WFi[l$\"+J)Q;c)Fb\\l7$$\"+)Q*)ow%Fi[l$\"+b]1F))Fb\\l7$$\"+/LvJ^Fi[ l$\"+2+wW!*Fb\\l7$$\"+:v)oa&Fi[l$\"+n;#=?*Fb\\l7$$\"+e\"GI,'Fi[l$\"+t3 @&G*Fb\\l7$$\"+J+PGlFi[l$\"+*[\"z#G*Fb\\l7$$\"+$)Hc(3(Fi[l$\"+7lp%=*Fb \\l7$$\"+&)*[2o(Fi[l$\"+$z<\\)*)Fb\\l7$$\"+^?*GH)Fi[l$\"+k**)Go)Fb\\l7 $$\"+H#GP!*)Fi[l$\"+w8r%G)Fb\\l7$$\"+xS-#Fb\\l7$$\"+2#=-'pFi[l$\"+5'=t'>Fb\\l7$$\"+Ad0QlFi[l$\"+2v`H>F b\\l7$$\"+D'el8'Fi[l$\"+LNx3>Fb\\l7$$\"+w(orv&Fi[l$\"+V.c.>Fb\\l7$$\"+ iUj+aFi[l$\"+@_!G\">Fb\\l7$$\"+k!yr1&Fi[l$\"+>YtN>Fb\\l7$$\"+)\\Mmv%Fi [l$\"+L&[=(>Fb\\l7$$\"+.$e&oWFi[l$\"+-J)3-#Fb\\l7$$\"+_6J-UFi[l$\"+&R! y#3#Fb\\l7$$\"+i)Hr&RFi[l$\"+4`Fb\\l7$$\"+))3?PBFi[l$\"+]\\l*p&Fb\\l7$$\"+rb!*pBFi[l$\"+s()=JFFi[l$\"+yKlM!)Fb\\l7$$\"+?Z&p* GFi[l$\"+8$G*f&)Fb\\l7$$\"+VP@.JFi[l$\"+;_;\"4*Fb\\l7$$\"+X*GrN$Fi[l$ \"+l%oyh*Fb\\l7$$\"+VX=nOFi[l$\"+>Wi75!\"'7$$\"+7A;VSFi[l$\"+P(p)f5Fic n7$$\"+X5*e\\%Fi[l$\"++'\\85\"Ficn7$$\"+,:hO]Fi[l$\"+'f![M6Ficn7$$\"+a ztvcFi[l$\"+2&Rj:\"Ficn7$$\"+k,y?kFi[l$\"+Z'QQ;\"Ficn7$$\"+nDDtsFi[l$ \"+VU/a6Ficn7$$\"+h$eYA)Fi[l$\"+ZklC6Ficn7$$\"+Nb<_#*Fi[l$\"+?phu5Ficn 7$$\"+'oY:.\"Fb\\l$\"+j+s/5Ficn7$$\"+[^nN6Fb\\l$\"+/M.!=*Fb\\l7$$\"+\\ $=1B\"Fb\\l$\"+a-`'>)Fb\\l7$$\"+DDH48Fb\\l$\"+yPvirFb\\l7$$\"+sg#fO\"F b\\l$\"+NilYhFb\\l7$$\"+D5D(R\"Fb\\l$\"+#Qz]?&Fb\\l7$$\"+t>)HS\"Fb\\l$ \"+2%G^P%Fb\\l7$$\"+,$[aQ\"Fb\\l$\"+f&)\\sOFb\\l7$$\"+4Ym[8Fb\\l$\"+3q e&4$Fb\\l7$$\"+@jH(H\"Fb\\l$\"+@d2KEFb\\l7$$\"+K$eeB\"Fb\\l$\"+y$3]E#F b\\l7$$\"+)3d#o6Fb\\l$\"+)[jp(>Fb\\l7$$\"+6Mi(4\"Fb\\l$\"+&yyAv\"Fb\\l 7$$\"+9zKE5Fb\\l$\"+'z$)yd\"Fb\\l7$$\"+jk$3c*Fi[l$\"+:YMV9Fb\\l7$$\"+` Wu!)))Fi[l$\"+KVbS8Fb\\l7$$\"+TLbFi[l$\"+mjOK6Fb \\l7$$\"+>xQ0^Fi[l$\"+RL$H9\"Fb\\l7$$\"+/8b6ZFi[l$\"+$)HQj6Fb\\l7$$\"+ YH-]VFi[l$\"+p@O$>\"Fb\\l7$$\"+3P%)=SFi[l$\"+tDuK7Fb\\l7$$\"+KL/;PFi[l $\"+(o(e\"G\"Fb\\l7$$\"+1xoRMFi[l$\"+-&H,M\"Fb\\l7$$\"+v9\"z=$Fi[l$\"+ .Dv39Fb\\l7$$\"+$*)R*eHFi[l$\"+QK)z[\"Fb\\l7$$\"+jH5^FFi[l$\"+nT[y:Fb \\l7$$\"+;T%Gc#Fi[l$\"+=30\"o\"Fb\\l7$$\"+G^s#R#Fi[l$\"+#\\6mz\"Fb\\l7 $$\"+k&G%RAFi[l$\"+A*Gi#>Fb\\l7$$\"+\\(e<5#Fi[l$\"+^L5r?Fb\\l7$$\"+m?k y>Fi[l$\"+hldKAFb\\l7$$\"+ds7p=Fi[l$\"+]j87CFb\\l7$$\"+FjQs " 0 "" {MPLTEXT 1 0 0 "" }{TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 107 "Hacer pruebas con Euler con h = 0.2, 0.1, 0. 05 y comprobad que tiende a irse hacia afuera (l\363gico pues" }} {PARA 0 "" 0 "" {TEXT -1 109 "Euler sigue la tangente y \351sta siempr e nos echa hacia afuera. \277Qu\351 valor de h se precisa para que la \+ soluci\363n" }}{PARA 0 "" 0 "" {TEXT -1 30 " se confunda con la verdad era?" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 106 " Probad con rk2. Ver como con h=0.2 funciona mucho mejor que Euler. Sin embargo no est\341 libre de problemas." }}{PARA 0 "" 0 "" {TEXT -1 109 "Si ponemos h=0.95 y Tobs = 400 el sistema parece estabilizarse \+ en una \363rbita m\341s grande. Si s\363lo hubiesemos" }}{PARA 0 "" 0 "" {TEXT -1 91 "visto esta soluci\363n podr\355amos pensar que se alca nza un equilibrio distinto del \"verdadero\"." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 64 "Probad con rk3 y paso h=1 .0, \277hacia d\363nde va ahora la soluci\363n?" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 100 "Finalmente mostrad como \+ rk4 es mucho m\341s preciso, manteniendose sobre la soluci\363n inclus o para h=1.0" }{MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 50 "Un ejemplo adicional: el problema de tr es cuerpos " }}{PARA 4 "" 0 "" {TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 100 "En el ejemplo anterior nos parec\355a (aunque no era m\341s qu e una ilusi\363n) que teniamos una \"verdadera\" " }}{PARA 0 "" 0 "" {TEXT -1 105 "soluci\363n, una meta a la que llegar. Para ver m\341s \+ crudamente la dura realidad nos planteamos un problema" }}{PARA 0 "" 0 "" {TEXT -1 66 "m\341s complicado, el llamado problema de tres cuerp os simplificado. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 102 "Trabajaremos en el plano XY, y supondremos que tenemos \+ 2 grandes cuerpos de masas (normalizadas) m1 y" }}{PARA 0 "" 0 "" {TEXT -1 102 "m2=1-m1, que giran alrededor de su centro de gravedad. \+ Este es un problema cuya soluci\363n es conocida." }}{PARA 0 "" 0 "" {TEXT -1 108 " Ahora a\361adimos un tercer cuerpo de masa despreciable frente a los dos anteriores y lo soltamos en el plano," }}{PARA 0 "" 0 "" {TEXT -1 62 "sujeto a la fuerza de la gravedad de los dos cuerpos mayores. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 113 " Este simple modelo podria servir para describir el movimiento de un sat\351lite alrededor del sistema Tierra-Luna, " }}{PARA 0 "" 0 "" {TEXT -1 111 "o de un peque\361o planeta en un sistema solar con \+ una estrella doble. Las ecuaciones simplificadas se recogen en " }} {PARA 0 "" 0 "" {TEXT -1 26 "el siguiente c\363digo Maple:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "Digi ts:=10:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "# Definici\363n de ecuaciones diferenciales " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "m1:=0.0122277471:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "m2:=1-m1:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "K1:=m2/((x(t)+m1)^2 + y(t)^2)^1.5 :" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "K2:=m1/((x(t)-m2)^2 + y(t)^2)^ 1.5:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 71 "a_x:=diff(x(t),t,t)=x(t) + 2*diff(y(t),t) - K1*(x(t)+ m1) -K2*(x(t)-m2):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 67 "a_y:=diff(y(t ),t,t)=y(t) - 2*diff(x(t),t) - K1*y(t) - K2*y(t):" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "# Condic iones iniciales" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "ini_x:= x(0)=0.994, D(x)(0)=0:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 61 "ini_y:= y(0)=0, D(y)(0)=-2.00158510637908252 240537862224:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "# Problema completo" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "prob:=\{a_x,a_y, ini_x,ini_y\}:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 103 "Resolveremos ahora este problema con los m\351todos que mejor que daron antes, RK3, RK4 y con el favorito " }}{PARA 0 "" 0 "" {TEXT -1 49 "de Maple (sea el que sea). Veamos las soluciones:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 61 "sol1:=dsolve(prob,\{x(t),y(t)\},numeric,m ethod=classical[rk3]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 61 "sol2:=dso lve(prob,\{x(t),y(t)\},numeric,method=classical[rk4]):" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 39 "sol3:=dsolve(prob,\{x(t),y(t)\},numeric):" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "M:=1.5: vent:=[-M..M,-M..M]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "xy:=[x(t),y(t)]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "Tobs:=0..18:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "NP:=100:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 60 "g1:=odeplot(sol 1,xy,Tobs,numpoints=NP,view=vent,color=cyan):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 60 "g2:=odeplot(sol2,xy,Tobs,numpoints=NP,view=vent,color =blue):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 59 "g3:=odeplot(sol3,xy,Tobs ,numpoints=NP,view=vent,color=red):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "display(g1,g2,g3);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 13 "" 1 "" {GLPLOT2D 426 325 325 {PLOTDATA 2 "6&-%'CURVESG6$7aq7$$\"$%**!\"$\"\"!7$$\"14cSeJ>k')!#; $!1DN#*y(e(e$)!#<7$$\"1$z(yb_]XtF/$!1*p$*yc$on))F27$$\"1hZxjSlEeF/$!1A &H(*[)>3PF27$$\"1$e`(\\WRqQF/$\"1LI(3upI\"yF27$$\"1Du>*)HtL`F2$\"1*)G' p-]\"4@F/7$$!1:E;'3pRF$F/$\"1-[1&**[c'[F27$$!1xHQ'f_43&F/$!1Fwn\"['Qh: F/7$$!12'\\P%Hl+kF/$!1\\v)zwWx!GF/7$$!1]/f2()y7wF/$!1dpS#>/PT$F/7$$!16 B@b4Cb()F/$!1i@'f6]k]$F/7$$!1Po&)*>A.z*F/$!1()>E+g.yJF/7$$!1;/&)pYTm5! #:$!1WD>xQ04DF/7$$!1)G--NwD8\"Fbo$!180hv`Cz:F/7$$!1\"*>Lt7`t6Fbo$!1vH8 !yx7r%F27$$!1O3?wW\"o=\"Fbo$\"1%ezBOg#)H(F27$$!1[v$fA#pr6Fbo$\"1m4OUBt O>F/7$$!12G-vtBH6Fbo$\"1opU!)phjIF/7$$!1I$4m>$Hi5Fbo$\"1RkWb>'y-%F/7$$ !1`i(=J1Lv*F/$\"1>)pw3\">_ZF/7$$!1!4!yp\"e=u)F/$\"1([?8Qua;&F/7$$!1$)f *)eG@cwF/$\"1c-=#G!=,_F/7$$!1(\\3lk5^c'F/$\"1&HSYw*4\"z%F/7$$!12CJY`() =bF/$\"1g%oz/@([QF/7$$!1%RL))\\!p#[%F/$\"1#>()*))p/HAF/7$$!1o.JGHM*)HF /$!1#pjHk1(RIF27$$\"17tX%3EvL(F2$!17%zyxR)pAF/7$$\"11f5XhN%)RF/$!1T9<9 `YK:F/7$$\"1x\")=-YPCgF/$!19H%z]%ez!*F27$$\"1bx5HlIivF/$!1HOsS`$e$zF27 $$\"1Z3go)4V#))F/$!1\\1f7\\.=6F/7$$\"1\"z=-8(\\&*)*F/$!1!yTpmiZt\"F/7$ $\"12k4g\"[H2\"Fbo$!1:KNn1-tDF/7$$\"1n*ep'*\\+8\"Fbo$!1\"G^'47@LOF/7$$ \"1CPcAP\")f6Fbo$!14:OB]Ev[F/7$$\"1KE4xp0h6Fbo$!1.juc30TiF/7$$\"1u@F@w5Fbo$!1[f8lI%z3*F/7$$\"1l*[cL\"3< **F/$!1kKo&pVT/\"Fbo7$$\"1*=(eSFh?))F/$!1nhPOF*o;\"Fbo7$$\"1V,jSS93vF/ $!1&oJk#*z=F\"Fbo7$$\"1ac^xyiCgF/$!1/=[YZ$[N\"Fbo7$$\"1r\\Wy2!GU%F/$!1 ?$HyrbDT\"Fbo7$$\"1zZk`&\\5w#F/$!11ZI#>ZIW\"Fbo7$$\"1$>YO%>-,6F/$!1jP0 *43cW\"Fbo7$$!1H0*G_<)[\\F2$!16%zE\"z'3U\"Fbo7$$!1Nf\\80*f'>F/$!1(4=$R swq8Fbo7$$!1U1Cc+mbKF/$!1nXUBB[)H\"Fbo7$$!1&Hy8=4KJ%F/$!1OJVrRH37Fbo7$ $!1kPC,]G&4&F/$!1,'Q/)3S06Fbo7$$!1+x3)f$QmbF/$!1%329]Gn&**F/7$$!1)G\\Y MH\")p&F/$!1)HjKr\\K&))F/7$$!15`u(G%omaF/$!1E'omyLX!yF/7$$!1T:#>a)GZ[F /$!1%4I\\/\"eioF/7$$!1/fUrV![!QF/$!1r_-sCOagF/7$$!1GA!z7WIG#F/$!1raLpU *>M&F/7$$!1UwsSi02BF2$!1]_*)3,'>_%F/7$$\"1M(4tB@L9#F/$!1'4k%*4=H7$F/7$ $\"1Y6R$)3.gSF/$!1l3F@')fQ5F/7$$\"17Fbo$\"1 :4\")R\"oM!>F/7$$\"1aI>a-^s7Fbo$\"1J`(oE.4^'F27$$\"1)>&fZ1\"[H\"Fbo$!1 Sqyhf`ltF27$$\"16B#RKOdG\"Fbo$!1WLc-^+`@F/7$$\"1+W1@TZZ7Fbo$!10P#GKMh] $F/7$$\"1,__*4\"Fbo$!1)>([!*H' \\t&F/7$$\"1]nygDH+5Fbo$!1uhz?\"el\\'F/7$$\"1vg)z*[VD*)F/$!1'y>K!*=S'p F/7$$\"1!)*yQBeE$yF/$!1z<^B&*40rF/7$$\"1)**>>sknz'F/$!1aWA(RS&4M $F/$\"1z^R;8SF&)F27$$\"1C&)*[9\")=T\"F/$\"1\")4\")4lkkLF/7$$!1oW%fq*yp zF2$\"1gKY\"p#Gr[F/7$$!1[o$Qs@4\\#F/$\"1m=x2,;(*eF/7$$!1()=Gk&[mi$F/$ \"1#zJ]n-)eoF/7$$!1lz\"yx#fxUF/$\"1s%RN\\z1(yF/7$$!1B\\6p?>,XF/$\"1&[* e!\\L6$*)F/7$$!1Rc9g#z2M%F/$\"1=(3uM4y***F/7$$!1,'HU)e%f$QF/$\"1XI)*y> ],6Fbo7$$!1t7Tth()GIF/$\"14v&GeXD>\"Fbo7$$!1)[R:%)Qs'>F/$\"1#R'*)pF2$\"1=G-[0A`8Fb o7$$\"1(z+1kM6=#F/$\"1dNq0#\\#e8Fbo7$$\"1$*[H\"=Son$F/$\"1E]XU<7Fbo7$$ \"1[AN%)*zLi(F/$\"1L]TJ`2D6Fbo7$$\"1Nj%oIkrd)F/$\"1Z-\")3^R;5Fbo7$$\"1 #>.)zw[z#*F/$\"1ers\\TVn*)F/-%'COLOURG6&%$RGBGF+$\"*++++\"!\")Fa[m-F$6 $7aqF'7$$\"1LVj![$Rv))F/$!1L&*zW$[(\\DF27$$\"1L&4;LgHD)F/$\"1/lP#eB1A \"F27$$\"1'\\9f:GNx(F/$\"1'\\#>y[eWoF27$$\"1N4**)48RM(F/$\"1.+&=;c:O\" F/7$$\"1\"Gl/e\"))3pF/$\"13fPsk(Q6#F/7$$\"1S$>h:(GNkF/$\"1crNhM\\3HF/7 $$\"1Q,q#zIw!fF/$\"1z**>ElT7PF/7$$\"1S&H%yn'eK&F/$\"1E0Ew5L$\\%F/7$$\" 1z,73th-ZF/$\"1=%)yfcRB_F/7$$\"1vO&[4T'eSF/$\"1=,&p)4'G)eF/7$$\"1S4j=j F6WWhkF/7$$\"1X!Q$Hf_*z#F/$\"1v/Uq;xF/7$$\"1VYT*f#)>@\"F/$\"1* GvBnJN*zF/7$$\"1.=$>ssU#yF2$\"1!G_F&o\"*4#)F/7$$\"1Vn#Rj/>'RF2$\"1'o(p Eo^q$)F/7$$\"1)=`5\\Y#eW!#=$\"1Ms#[9g'y%)F/7$$!1E&eq%\\aGGF2$\"1v$HqfK l`)F/7$$!1(*4+hxMvfF2$\"1?F#)4@UX&)F/7$$!1`$o&=5H6\"*F2$\"1XT94<#f])F/ 7$$!1`(H=&Q#\\B\"F/$\"1fxH8y/=%)F/7$$!1AUj*R$>z:F/$\"1RrdyKF\"G)F/7$$! 1q$G5f\\D&>F/$\"1z*zR&)4X4)F/7$$!1lOKy)\\7O#F/$\"1gAK\"Q3h&yF/7$$!1ap% Gww%3GF/$\"1t)z_JxRc(F/7$$!1pUE\")[l$H$F/$\"1'H$)\\\\Tf@(F/7$$!1%p#ov4 &>\"QF/$\"1Y]'oQ]/\"oF/7$$!1*yRG=(=aVF/$\"1;Zi]PmZjF/7$$!1SVHL2ifUtF/$\"1z&R&**)4r$GF/7$$!1=gi\\2<,xF/$\"1mGzU&)RtAF/7$$ !1KForXf8!)F/$\"1rX1l_`c\"*Gk?aF27$$!1!eA^S]=')) F/$\"10'y9/xFZ#F27$$!1OeQ9yK$)*)F/$!1-Jgi#H`X\"!#>7$$!1z(4v$=Pp!*F/$!1 kY>+'R!H@F27$$!1hJNQ.H>\"*F/$!1olF@.*G(RF27$$!1?3Gm$)=K\"*F/$!1?6**G!f zl&F27$$!1N=wPZ;2\"*F/$!1?]F\\(*G,tF27$$!1hHQv&3M/*F/$!1j+GCx$3-*F27$$ !1h)Q!3c=S*)F/$!1FA61R6$4\"F/7$$!1NhB!o?nz)F/$!1YSob6(QJ\"F/7$$!1sqDw5 +7')F/$!1nV,Nppt:F/7$$!1\"fiZO[XQ)F/$!1m&3;8X+)=F/7$$!191;(QOA6)F/$!1u o\"fcDyB#F/7$$!165![>nAz(F/$!1$RS9j$o[EF/7$$!1**=kFHW@uF/$!11O&eM'G5JF /7$$!1Iv1(*='o*pF/$!1b)36xsdh$F/7$$!1.&y%=%zq^'F/$!1.MqKui`TF/7$$!1&[p 7\"HG3ZF/7$$!1R/m%GF (RZpF2$!17^8u3)\\=)F/7$$!1x\"yfZ#GXEF2$!1NlcYrJ?$)F/7$$\"1^?QOq5n7F2$! 1Xh,B8.4%)F/7$$\"1iH_\"\\(Hq[F2$!1v5[bRH^%)F/7$$\"1wh%RK,AE)F2$!1a2Onh KY%)F/7$$\"1>WbFC7b6F/$!1l*HRPIDR)F/7$$\"1`MZH`'\\[\"F/$!1UrV'*)*e(G)F /7$$\"1!*\\Wd:pE=F/$!1g?L:2]G\")F/7$$\"1S?z$HD->#F/$!1&)RAQ'Q:\"zF/7$$ \"1m`7IF/$!1:b\"\\R\"G&G(F/7$$\"1Q @'yX0tZ$F/$!1#o[wNn]'oF/7$$\"1=Oi?wZvRF/$!10x5Ag;mjF/7$$\"1jg@M0lF/$!1j0[k5kXFF /7$$\"1k\"z4K*f>pF/$!1ea$***R`.>F/7$$\"1lS5Z.51tF/$!1GlG*Q<>4\"F/7$$\" 1fn%Gzpzp(F/$!1v$GpL9u^$F27$$\"1?[J!Hrh9)F/$\"1/@pq]vKEF27$$\"1a1F\"RI uq)F/$\"1@#RzfINp'F27$$\"10(oPraYU*F/$\"19=9jb*e7(F27$$\"1wU\"z7ehy*F/ $!1&>))eC@&fAF27$$\"1f[#o'fVg))F/$\"1JJWYs&fZ\"F27$$\"1,?QEqB<&)F/$\"1 KGBY#>Gp(F27$$\"1zn8$Q(z0%)F/$\"1r/-()\\$zP\"F/7$$\"1=YWL*ygU)F/$\"1WF *oC'*4\">F/7$$\"1F$Ri5F\"H&)F/$\"1#=?0(e0PBF/7$$\"1.A1RUD$o)F/$\"1I'RZ e/2k#F/7$$\"1.f*o<+>'))F/$\"1^Hi*\\!QV$ pe)\\gF/7$$!1]uu87bQ]F/$\"1;&p77,hU'F/7$$!1rh,2CV%p&F/$\"1T4[\\I70pF/7 $$!1j>St,O(3'F/$\"1d&4npFpZ(F/7$$!1F2RA=iQiF/$\"1W)pjSCJ6)F/7$$!1r?Lf* )4ohF/$\"1Fu]&\\Ksx)F/7$$!1D'4y:Pu*eF/$\"1oLr.`VI%*F/7$$!1wh`dl&>X&F/$ \"1Jgt*Q:N+\"Fbo7$$!1&zYs\"z[h[F/$\"18Lun1vb5Fbo7$$!1]CO!>(RgTF/$\"14j e].\"p4\"Fbo7$$!1'\\F>BDqQ$F/$\"1#Q7[nM[7\"Fbo7$$!1KV.+\"GFe#F/$\"1BYE b*G\"Q6Fbo7$$!1rtp\"fv1z\"F/$\"1aAB\\Z?O6Fbo7$$!1&fAVC\\X0\"F/$\"1r!z( [KF>6Fbo7$$!1uUACMqsTF2$\"1^iFfbG)3\"Fbo7$$\"1N9szvS7!)F_am$\"1wy>e5\" [/\"Fbo7$$\"1/fw@1o$*RF2$\"1(*H]'4$Q3**F/7$$\"1$=Kn%*zg0&F2$\"1Clo_8q% G*F/7$$\"1=B6%f$>!o$F2$\"15hTP)>Yf)F/7$$!1yg3dhguQF_am$\"1KuPwrAXyF/7$ $!1`%ypWHzH(F2$\"1utYYQ*H-(F/7$$!1\"*)er9!)fp\"F/$\"1iQ'e7;@3'F/7$$!1* e@0=&RsGF/$\"1Z;;B@gW\\F/7$$!1`n+CIK-TF/$\"1V$*3o_l\\NF/7$$!1&>5%*=f/= &F/$\"1s-984bh>F/7$$!1r*)Gk9'3,'F/$\"16Ncjt9XQF27$$!1D^4Sm3gmF/$!1x=I7 _`5**F27$$!1xyOT!)oTsF/$!1^V'=G*Hz?F/7$$!1(*4HAMAF/7$$!1x<6;'4[>\"Fbo$ !1%R>06B0X\"F/7$$!1n![9z>:A\"Fbo$!1O+#e_Cfz&F27$$!1p>$[$eFL7Fbo$\"14Rt 3\"R!GNF27$$!1H/,R/PH7Fbo$\"1eWY15q/8F/7$$!1vWb.3%*47Fbo$\"1&zs0\\4QB# F/7$$!1cXhfx'f<\"Fbo$\"1?&3?+E*)4$F/7$$!1`'RB4L#H6Fbo$\"17lra'z7'QF/7$ $!18UQ;gBs5Fbo$\"1\\O[l/p&[%F/7$$!1XBuO)o!35Fbo$\"1t*y-e69%\\F/7$$!1)z i2:\"\\-%*F/$\"1xa\\U&>D?&F/7$$!1avby5*\\s)F/$\"1i#G;m3xC&F/7$$!13l(e( **[%3)F/$\"1gIm0MNf]F/7$$!1a)*))R[67vF/$\"1J%34B#z@YF/7$$!1bWjpGAFqF/$ \"1Sa;]p<>RF/7$$!1PT![P5ni'F/$\"12qHEoeMHF/7$$!1y#=j!z%*oiF/$\"1\\^*y \"4(fl\"F/7$$!1jIEaSGfeF/$\"1..&GDE^,\"F27$$!1+\\:HDds_F/$!1FIqC\\$)G; F/7$$!1[&yO`>%eWF/$!123DAW1OLF/7$$!1x8Z;UwINF/$!1F%\\V`gx$[F/7$$!1$pG- QOnn#F/$!1N(zl!4a(3'F/7$$!1\\<)4Qee-#F/$!1lMQ,.TKrF/7$$!1@[[$4x,j\"F/$ !1z.l')GCF!)F/7$$!14$fE/K\\\\\"F/$!1Y,w4Oa-))F/7$$!13dT^\\j-;F/$!17&yb i$zl%*F/7$$!12O1CfdC>F/$!1&))Q`'[.,5Fbo7$$!1\"*\\-!\\bcU#F/$!1-GWu\"GB /\"Fbo7$$!1]s4]PgmIF/$!1)GyY%[4p5Fbo7$$!1k1B.8R0QF/$!1&\\&R14F!3\"Fbo7 $$!16Y7zP])f%F/$!1Tv>PNLv5Fbo7$$!1x\\(R:vAS&F/$!1%*HK:lWa5Fbo7$$!1*>C' p\\GuhF/$!1#4m'GH`=5Fbo7$$!1\"GU)R'\\Z(oF/$!1H@`1F*Gp*F/7$$!1@!>!)>3yY (F/$!1(=$p:m]\"4*F/7$$!1BJx?()eAzF/$!1*>_E`Z@T)F/7$$!18Gdd&HR@)F/$!1Wx c=bI\"p(F/7$$!1XH()3,hA$)F/$!1(RDKsm&ppF/7$$!16y6L&4\\B)F/$!1ISkQn*)*G 'F/7$$!1&[$zSrCTzF/$!12eMIp`&p&F/7$$!1qj8p)fNV(F/$!1h_/1()>F_F/7$$!14` t#\\()4q'F/$!1j#>fX)p=\\F/7$$!1m,t![vOs&F/$!1$>Rn%G#*)y%F/7$$!1./'*[w[ mWF/$!1%=N?d!\\D[F/7$$!1K]J?c<$)GF/$!1P40'4SK&\\F/7$$!1Eb:,()*)['*F2$! 1TssX6h'*\\F/7$$\"1Q&=xD$HT6F/$!1taq'*fSGZF/7$$\"1k[yh69BJF/$!1)HMfS!) [5%F/7$$\"1!H0s8eQx%F/$!1K'>&*\\-2N$F/7$$\"1<$yW%4I0hF/$!1<&['**H]0FF/ 7$$\"1$f8krGf?(F/$!1d?&=%)oeG#F/7$$\"1H\\TOy$*[\")F/$!1$=l]0A'=@F/7$$ \"1@#[X\\\"px*)F/$!1ymkE$Re=#F/7$$\"1aVKG$oVq*F/$!1\"G0mo&yaCF/7$$\"1M Df\\8tJ5Fbo$!1t_oE:h0HF/7$$\"1XfdT$=,3\"Fbo$!1?o\"y(ytHNF/7$$\"1*>hX?y T6\"Fbo$!1_\\4kOF8VF/-F^[m6&F`[mFa[mF+F+-%%VIEWG6$;$Fbo!\"\"$\"#:F][qF [[q" 1 2 0 1 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 }}}}{PARA 0 " " 0 "" {TEXT -1 0 "" }{MPLTEXT 1 0 0 "" }{TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "" 0 "" {TEXT -1 87 "La gr\341fica an terior lo dice todo: \277Cu\341ndo puedo fiarme? \277Qu\351 m\351todo \+ y/o paso debo usar?" }}{PARA 0 "" 0 "" {TEXT -1 109 "No hay respuesta \+ segura, ya que no conocemos la soluci\363n verdadera, pero hay un crit erio intuitivo en el que " }}{PARA 0 "" 0 "" {TEXT -1 104 "de hecho es t\341n basadas t\351cnicas muy importantes. Si h se reduce (p.e. a la \+ mitad) y no hay cambios en la" }}{PARA 0 "" 0 "" {TEXT -1 103 "soluci \363n observada podemos quedarnos m\341s o menos tranquilos. En esto s e basa la llamada estimaci\363n del " }}{PARA 0 "" 0 "" {TEXT -1 54 "e rror de Richardson, que estudiaremos a continuaci\363n. " }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 1 " " }{TEXT 260 28 "Extrapolaci\363n de Richardson." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 69 " \+ Uso de la extrapolaci\363n de Richardson para estimar el error cometid o" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 108 " Se puede comprobar que para un metodo de orden p la relaci\363n entre las diferencias de calcularlo con un paso" }}{PARA 0 "" 0 "" {TEXT -1 114 "h y calcularlo con un paso h/2 (cosa que podemos evaluar) estan m uy relacionadas con el error real a traves de un " }}{PARA 0 "" 0 "" {TEXT -1 9 "factor F:" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 44 "Orden P 1 2 3 4 ... p" }} {PARA 0 "" 0 "" {TEXT -1 41 "Factor F 1 3 8 15 ... \+ " }{XPPEDIT 18 0 "2^p-1;" "6#,&)\"\"#%\"pG\"\"\"\"\"\"!\"\"" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 108 "Para verificar lo resolveremos una ecuaci\363n con paso h y con paso 2h, comparando l os resultados en los puntos" }}{PARA 0 "" 0 "" {TEXT -1 110 "comunes ( multiplos de 2h). En esos mismos puntos calculamos el error entre la s oluci\363n verdadera y la obtenida" }}{PARA 0 "" 0 "" {TEXT -1 34 "con h (la mas precisa de las dos)." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "#Ecuaci\363n diferencial" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "ecu:=diff(y(t),t)=-y(t)*y(t);" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "#Condiciones iniciales" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "t0:=0 : tf:=5: y0:=1.0:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 20 "#Verdadera soluci\363n:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "ok:=proc(t) RETURN(1/(1+t)); end:" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#>%$ecuG/-%%diffG6$-%\"yG6#%\"tGF,,$*$)F)\"\"#\"\"\"! \"\"" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "Digits:=10:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "#Metodo y paso" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 30 "met:=rk4: F:=15: # F= 2^p -1 " }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 7 "h:=0.1:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "# Solucion con h" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "s1:=diffnum(ecu,t0,tf,y0,h,met):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "# Soluci\363n con 2h" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "s2:=diffnum(ecu,t0,tf,y0,2*h,met):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "# Numero de \+ pasos para el metodo 2h" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "#coldim( s1);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "N:=coldim(s2):" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 66 "# Extr aemos los tiempos usados con 2h y las soluciones respectivas" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "t:=row(s2,1):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "sol2:=row(s2,2):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "sol1:=array([seq(s1[2,2*k-1],k=1..N-1)]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "# Error estimad o por Richardson " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "richard:=[seq( [t[k], (sol1[k]-sol2[k])/F],k=1..N-1)]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "# Error real cometido" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "err:=[seq([t[k], ok(t[k])-sol1[k]] ,k=1..N-1)]:\n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "plot([richard,err ],color=[red,blue]); " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 6 "" 1 "" {TEXT -1 21 "N pasos e n diffnum 50" }}{PARA 6 "" 1 "" {TEXT -1 21 "N pasos en diffnum 25" }} {PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "6&-%'CURVESG6$7;7$ \"\"!F(7$$\"1+++++++?!#;$!1+++nm'y`$!#A7$$\"1+++++++SF,$!1+++LLL%)RF/7 $$\"1+++++++gF,$!1+++LLthOF/7$$\"1+++++++!)F,$!1+++++!)*=$F/7$$\"\"\"F ($!1++++++RFF/7$$\"1+++++++7!#:$!1+++LL8]BF/7$$\"1+++++++9FG$!1+++nmYD ?F/7$$\"1+++++++;FG$!1+++nm'ov\"F/7$$\"1+++++++=FG$!1+++LL`M:F/7$$\"\" #F($!1+++LLt\\8F/7$$\"1+++++++AFG$!1++++++&>\"F/7$$\"1+++++++CFG$!1+++ LL`k5F/7$$\"1+++++++EFG$!1++++++Q&*!#B7$$\"1+++++++GFG$!1+++LLL\"f)Fgo 7$$\"\"$F($!1*****pmmmx(Fgo7$$\"1+++++++KFG$!1++++++qqFgo7$$\"1+++++++ MFG$!1+++nmmakFgo7$$\"1+++++++OFG$!1+++LLL:fFgo7$$\"1+++++++QFG$!1++++ ++SaFgo7$$\"\"%F($!1+++LLL>]Fgo7$$\"1+++++++UFG$!1+++LLLXYFgo7$$\"1+++ ++++WFG$!1++++++7VFgo7$$\"1+++++++YFG$!1++++++7SFgo7$$\"1+++++++[FG$!1 +++nmmUPFgo-%'COLOURG6&%$RGBG$\"*++++\"!\")F(F(-F$6$7;F'7$F*$!1++++++b RF/7$F1$!1++++++'R%F/7$F6$!1++++++5SF/7$F;$!1++++++wMF/7$F@$!1++++++wH F/7$FE$!1++++++\\DF/7$FK$!1++++++$>#F/7$FP$!1++++++,>F/7$FU$!1++++++g; F/7$FZ$!1++++++f9F/7$Fin$!1++++++\"H\"F/7$F^o$!1++++++]6F/7$Fco$!1++++ ++I5F/7$Fio$!1++++++!G*Fgo7$F^p$!1++++++!R)Fgo7$Fcp$!1++++++IwFgo7$Fhp $!1++++++gpFgo7$F]q$!1++++++!Q'Fgo7$Fbq$!1++++++qeFgo7$Fgq$!1++++++5aF go7$F\\r$!1++++++5]Fgo7$Far$!1++++++SYFgo7$Ffr$!1++++++?VFgo7$F[s$!1++ ++++ISFgo-F`s6&FbsF(F(Fcs-%+AXESLABELSG6$%!GFfx-%%VIEWG6$%(DEFAULTGFjx " 1 2 0 1 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }{MPLTEXT 1 0 0 "" }{TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 " " 0 "" {TEXT -1 66 "Comprobadlo para foreuler (orden 1, F=1), con \+ h=0.5, 0.1, 0.05" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 107 "Probad ahora con rk4 para h=0.5 (no se parece) , h=0 .1 (bastante parecido) , h=0.05 (casi clavado) y" }}{PARA 0 "" 0 " " {TEXT -1 90 "finalmente h=0.02. Ver como en este \372ltimo caso hay discrepancias al aparecer redondeo." }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 0 "" 0 "" {TEXT -1 103 "Se comprueba que (en el rango de h a propiado) la estimaci\363n de Richardson es bastante buena, tanto que \+ " }}{PARA 0 "" 0 "" {TEXT -1 103 "podr\355amos plantearnos usarla como correcci\363n. Esta es una forma standard de subir el orden de un m \351todo" }}{PARA 0 "" 0 "" {TEXT -1 23 "cualquiera de orden p: " }} {PARA 0 "" 0 "" {TEXT -1 62 " * Corr er m\351todo con paso 2h" }}{PARA 0 "" 0 "" {TEXT -1 63 " \+ * Volver a correr con paso h" }}{PARA 0 "" 0 "" {TEXT -1 110 " * Corregir este \372l timo resultado por la estimaci\363n del error de Richardson." }}{PARA 0 "" 0 "" {TEXT -1 94 " * La nueva e stimaci\363n corresponde a un m\351todo de orden p+1." }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 69 " Aplicaci \363n: m\351todo de Euler paso adaptativo (cutre pero ilustrativo)" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 108 "Sin emba rgo otra posible utilidad adicional de conocer una estimaci\363n del e rror local que estamos cometiendo" }}{PARA 0 "" 0 "" {TEXT -1 108 "es \+ construir un m\351todo adaptativo de paso variable. Dado un m\351todo \+ cualquiera a usar, la idea es hacer cada " }}{PARA 0 "" 0 "" {TEXT -1 110 "paso dos veces, de una solo vez h, y (la definitiva) en dos pasit os de h/2. Una comparaci\363n de los resultados " }}{PARA 0 "" 0 "" {TEXT -1 99 "nos dar\341 una estimaci\363n del error cometido en dicho paso. Dicha estimaci\363n se compara con un umbral" }}{PARA 0 "" 0 " " {TEXT -1 111 "establecido por el usuario. Si es similar el paso h se mantiene. Si es mucho mayor se reduce el paso, mientras " }}{PARA 0 " " 0 "" {TEXT -1 33 "que si es mucho menor se aumenta." }}{PARA 0 "" 0 "" {TEXT -1 117 "La idea es tomar pasos diferentes, largos en zonas \" faciles\", cortos en zonas \"dif\355ciles\", repartiendo asi el error ." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 95 "Para comparar m\351todos adaptativos vs. paso fijo vamos a usar la siguien te ecuaci\363n diferencial:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 32 " y'(t) = " }{XPPEDIT 18 0 "1/(1+t^2);" "6#*&\"\"\"\"\"\",&\"\"\"F%*$%\"tG\"\"#F%!\"\"" }{TEXT -1 7 " - 2 " }{XPPEDIT 18 0 "y(t)^2;" "6#*$-%\"yG6#%\"tG\"\"#" } {TEXT -1 48 " , con y(0)=0 , cuya soluci\363n exacta es " } {XPPEDIT 18 0 "y(t);" "6#-%\"yG6#%\"tG" }{TEXT -1 4 " = " }{XPPEDIT 18 0 "t/(1+t^2);" "6#*&%\"tG\"\"\",&\"\"\"F%*$F$\"\"#F%!\"\"" }{TEXT -1 5 " " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 110 "especialmente interesante porque presenta cambios muy r\341pid os de pendiente, que nos serviran para ilustrar las" }}{PARA 0 "" 0 " " {TEXT -1 92 "ventajas de un m\351todo adaptativo. Veamos en primer l ugar la soluci\363n usando un Euler normal:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "# Ecuacion diferen cial " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "ecu:=diff(y(t),t)=1/(1+t*t )-2*y(t)*y(t):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "# Soluci\363n ver dadera" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "ok:=proc(t) RETURN(t/(1+t *t)); end:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "# Condiciones inicial es e intervalo" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "t0:=0:tf:=10:y0:= 0.0:" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "h:=0.5:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "eul:=dif fnum(ecu,t0,tf,y0,h,foreuler):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 72 "p lot([ok(t),graf(eul,2)],t=t0..tf,style=[line,point],color=[red,blue]); \n" }}{PARA 6 "" 1 "" {TEXT -1 21 "N pasos en diffnum 20" }}{PARA 13 " " 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "6&-%'CURVESG6%7ao7$\"\"!F(7$ $\"1LL$3FWYs#!#<$\"1u)Q33BEs#F,7$$\"1mmmT&)G\\aF,$\"1#yEj#\\:LaF,7$$\" 1++]7G$R<)F,$\"1x;qKEo>\")F,7$$\"1LLL3x&)*3\"!#;$\"1)=OkWkq2\"F<7$$\"1 mmTN@Ki8F<$\"1_i())>*\\P8F<7$$\"1++]ilyM;F<$\"1ikn&oLAf\"F<7$$\"1LLe*) 4D2>F<$\"1>o9NyIS=F<7$$\"1nmm;arz@F<$\"1G\\ww3&33#F<7$$\"1L$e*)4bQl#F< $\"1Y'*[4LCzCF<7$$\"1++D\"y%*z7$F<$\"1YnSXt@\\GF<7$$\"1m;ajW8-OF<$\"1r ?V,XU)=$F<7$$\"1LL$e9ui2%F<$\"1pAHspY&\\$F<7$$\"1n;H2Q\\4YF<$\"1\"[u*e [s,QF<7$$\"1++voMrU^F<$\"1OH#))*R2nSF<7$$\"1L$3-8Lfn&F<$\"1Yk&H^E!)[F<7$$\"1++DJ$RDX\"Ffr$\"1)=$=\\*Q2n%F<7$$\"1nm \"zR'ok;Ffr$\"1C6A/7B9WF<7$$\"1++D1J:w=Ffr$\"1X*)p&oE3:%F<7$$\"1MLL3En $4#Ffr$\"1n,^5+3*)QF<7$$\"1nm;/RE&G#Ffr$\"1n=vkAisOF<7$$\"1+++D.&4]#Ff r$\"1N&4'foKZMF<7$$\"1+++vB_F<7$$ \"1nm\"zRQb@&Ffr$\"1^=q#)4O\\=F<7$$\"1++v=>Y2aFfr$\"1J_yYP9)y\"F<7$$\" 1nm;zXu9cFfr$\"1T$)>toEEdM\"F<7$$\"1LLe9S8&\\(Ffr$\"1&ehMVk3J\"F<7$$\"1,+D1#=bq (Ffr$\"1CIeygFw7F<7$$\"1LLL3s?6zFfr$\"1**3_44:W7F<7$$\"1++DJXaE\")Ffr$ \"1oC?p-=77F<7$$\"1ommm*RRL)Ffr$\"1A0GN;)G=\"F<7$$\"1om;a<.Y&)Ffr$\"1$ )e08&GV:\"F<7$$\"1NLe9tOc()Ffr$\"1ZU&>GBt7\"F<7$$\"1,++]Qk\\*)Ffr$\"1* \\imk%e.6F<7$$\"1NL$3dg6<*Ffr$\"15q)G@jv2\"F<7$$\"1ommmxGp$*Ffr$\"1$)p 9EaHb5F<7$$\"1++D\"oK0e*Ffr$\"1Ejr4S`K5F<7$$\"1,+v=5s#y*Ffr$\"1;\\X<(R ;,\"F<7$$\"#5F($\"1,*4!*4!*4!**F,-%'COLOURG6&%$RGBG$\"*++++\"!\")F(F(- %&STYLEG6#%%LINEG-F$6%77F'7$$\"1+++++++]F " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 103 "Se comprueba que el intervalo escogido h=0.5 es demasiado grande y no somos capaces de seguir el brusco" }}{PARA 0 "" 0 "" {TEXT -1 101 "cambio de la funci \363n en t=1. Por el contrario, el ajuste para t's mayores de 2 es bas tante razonable." }}{PARA 0 "" 0 "" {TEXT -1 109 "Probad con valores m \341s peque\361os de h (0.1, 0.05, etc.). \277Para qu\351 valores de h empieza a ser bueno el ajuste " }}{PARA 0 "" 0 "" {TEXT -1 81 "en la \+ c\372spide, alrededor de t=1? \277Qu\351 pasa entonces para la zona de la derecha? " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 85 "El ejemplo anterior ilustra una situaci\363n muy com\372n . T\355picamente una soluci\363n exhibe " }{TEXT 256 12 "transitorios " }{TEXT -1 2 ", " }}{PARA 0 "" 0 "" {TEXT -1 101 "comportamientos muy localizados que desaparecen con el tiempo. Para que un m\351todo de p aso fijo \"vea\" " }}{PARA 0 "" 0 "" {TEXT -1 102 "bien dichos transit orios debemos usar un paso muy peque\361o, paso que ser\341 innecesari amente peque\361o una " }}{PARA 0 "" 0 "" {TEXT -1 103 "vez pasado el \+ transitorio. As\355 surge la idea de implementar m\351todos que adapte n su paso a la soluci\363n. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 108 "En la vida real, un m\351todo adaptativo tiene muchas sutilezas, acerca de la regla de actualizaci\363n del paso, " }}{PARA 0 "" 0 "" {TEXT -1 102 "posibles valores m\341ximos y m\355nim os para el paso, etc. Nosotros vamos a programar un m\351todo muy simp le," }}{PARA 0 "" 0 "" {TEXT -1 108 "basado en un Euler. Aunque poco e ficaz en la pr\341ctica por su bajo orden y poca sofisticaci\363n, nu estra cutre" }}{PARA 0 "" 0 "" {TEXT -1 113 "versi\363n va a servir p ara ilustrar las ideas b\341sicas detr\341s de un m\351todo adaptativo , comparandolo con el original" }}{PARA 0 "" 0 "" {TEXT -1 12 "sin ada ptar." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 104 "La siguiente rutina implementa (de forma muy cutre) un adaptativo bas ado en aplicar Euler , primero con " }}{PARA 0 "" 0 "" {TEXT -1 109 "u nico paso h y luego con dos pasitos de tama\361o h/2. A partir de la d iscrepancia (extrapolaci\363n de Richardson)" }}{PARA 0 "" 0 "" {TEXT -1 108 "decido autom\341ticamente si aumentar o disminuir el paso. Un \+ control adicional me marca que nunca disminuya el" }}{PARA 0 "" 0 "" {TEXT -1 73 "paso por un factor mayor que 8 ni lo aumente por un facto r mayor que 2. " }}{PARA 0 "" 0 "" {TEXT -1 111 "Adem\341s de los par \341metros usuales le suministraremos un paso inicial h0 y un umbral \+ frente al cual comparar la " }}{PARA 0 "" 0 "" {TEXT -1 21 "estimaci \363n del error:" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{MPLTEXT 1 0 0 "" }}{PARA 0 "" 0 "" {TEXT -1 103 "En primer lugar definimos la f(x,y) de nuestra ecuaci\363n diferencial, usada por nuestra rutina. Despues " }}{PARA 0 "" 0 "" {TEXT -1 43 "escribimos el c\363digo del m\351todo a daptativo:" }{MPLTEXT 1 0 0 "" }{TEXT -1 0 "" }{MPLTEXT 1 0 0 "" } {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "# f(x,y)" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "deriv := proc (x,y) RETURN(1/(1+x* x)-2*y*y); end:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "# Rutina Euler adaptativo" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "euler_adapta:= proc(t0,tf,yini,h0,U)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 74 "local t,k,h,ylast,ynext,y1,m1,m2,err,sol,Np,h2,y 2,ytemp,F,hnext,Uh,abserr;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "sol:=array(1..4,1..1000);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 56 "sol[1,1]:=t0; sol[2,1]:=y0; sol[3,1]:=h0; sol[4,1]:=0.0;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "for k from 2 to 200 while sol[1,k-1] " 0 "" {MPLTEXT 1 0 2 " " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 54 " t:=sol[1,k-1]; ylast:=sol[2,k-1]; h:=sol[3,k-1]; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 " " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 " #Euler en un paso (h)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 41 " m1: =deriv(t,ylast);y1:= ylast + h*m1; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 1 " " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 " #Euler en dos pasos (h/2 ) " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 11 " h2:=h/2;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 62 " ytemp:=ylast+h2*m1; m2:=deriv(t+h2,ytemp); y2 :=ytemp+h2*m2;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " err:=(y2-y1); abserr:=abs(err); " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 9 " Uh:=U;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 " " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 54 " F:=sqrt(Uh/abserr); F:=min(2.0,F); F:=max(0.125,F) ;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 " hnext:=F*h; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 " " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 " sol[1,k]:=sol[1,k-1]+h; sol[2,k] :=y2+err; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 " sol[3,k]:=hnext; s ol[4,k]:=err;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 86 " #printf(\"K %d -> %5.2f %5.2f (%3.1f) %5.2e %5. 2e %5.2e\\n\",k,t+h,hnext,F,y1,y2,err);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "Np:=k-1; printf(\"Numero de pasos en adaptativo %d\\ n\",Np);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "RETURN(linalg[submatrix](sol,1..4,1..Np));" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "end: " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 108 "Vamos a ver como funcion a nuestro nuevo m\351todo, comparandolo con el Euler original. La nuev a rutina devuelve" }}{PARA 0 "" 0 "" {TEXT -1 111 "un array de 4 filas , la primea con las t_n (ahora no equiespaciadas), la segunda con los \+ correepondientes y_n, " }}{PARA 0 "" 0 "" {TEXT -1 105 "mientras que e n la tercera metemos informaci\363n sobre los pasos h_n que se van usa ndo y en las cuarta, la " }}{PARA 0 "" 0 "" {TEXT -1 53 "estimaci\363n del error que usamos para adaptar el paso." }}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "t0:=0.0: tf:=8: y0:=ok(t0):" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "# Soluci\363n con adaptativo:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "h0:=0.1:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "E:=1e-3:" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 34 "adap:=euler_adapta(t0,tf,y0,h0,E):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "#solu ci\363n con Euler fijo:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "Nfijo:=3 5: h:=(tf-t0)/Nfijo:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "eul:=diffnu m(ecu,t0,tf,y0,h,foreuler):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "#Pintamos ambos resultados lado a l ado." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 71 "estilo:= style=[point,line] : colores:= color=[red,green]: T:= t=t0..tf:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "# Adaptativo fr ente a ok" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 67 "p1:=plot([graf(adap,2) ,ok(t)],T,estilo,colores,title=`Adaptativo`):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "# Fijo versus ok" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "colores:= color=[blue,green]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 65 "p2:=plot([graf(eul,2),ok(t)],T,estilo,colores,title=`Paso Fijo`): " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "display(array(1..2,[p2,p1]));" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "#Comparamos los errors de \+ ambos m\351todos" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "err_eul:=plot_e rror(eul,ok,blue):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "err_adap:=plo t_error(adap,ok,red):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "errores:=d isplay(err_eul,err_adap):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "#Comparamos los pasos usado en adap rativo" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "colores:= color=[red,blue ]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 69 "pasos:=plot([graf(adap,3),h], T,colores,title=`Evolucion del Paso h`):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "display(array(1 ..2,[errores,pasos]));" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 6 "" 1 "" {TEXT -1 32 "Numero de pasos en adaptativo 36" }}{PARA 6 "" 1 "" {TEXT -1 21 "N pasos en diffnum 35" }}{PARA 13 "" 1 "" {GLPLOT2D 650 293 293 {PLOTDATA 2 "6E-%'CURVESG6-7$7$!#5$!$v*!\"#7$F($!%D5F+7$7$ $!+++++]!\"*F)7$F1F-7$7$\"\"!F)7$F7F-7$7$$\"*++++&!\")F)7$F;F-7$7$$\"+ ++++5F=F)7$FAF-7$7$F)F(7$F-F(7$7$F)$!+!\\n$3kF37$F-FI7$7$F)$!+!)\\t;GF 37$F-FN7$7$F)$\")`(*[xF=7$F-FS7$7$F)$\"*/IlO%F=7$F-FX7$7$F)$\"*bi\"ezF =7$F-Fgn-%%TEXTG6%7$F-F-%\"0G%+ALIGNBELOWG-F[o6%7$$!++++]_F3F-%#2.GF_o -F[o6%7$$!#DF+F-%#4.GF_o-F[o6%7$$\"*+++v%F=F-%#6.GF_o-F[o6%7$$\"*+++v* F=F-%#8.GF_o-F[o6%F]oF^o%*ALIGNLEFTG-F[o6%7$F-$!+!\\n$emF3%$.10GFjp-F[ o6%7$F-$!+!)\\tmIF3%$.20GFjp-F[o6%7$F-$\")`(*[_F=%$.30GFjp-F[o6%7$F-$ \"*/Il6%F=%$.40GFjp-F[o6%7$F-$\"*bi\"3xF=%$.50GFjp-F$6,7$7$\"#?F)7$F]s F-7$7$$\"+i#*GmCF=F)7$FasF-7$7$$\"+C&yD$HF=F)7$FfsF-7$7$$\"+(yn))R$F=F )7$F[tF-7$7$$\"+\\q:lQF=F)7$F`tF-7$7$$\"%D?F+F(7$$\"%v>F+F(7$7$Fet$!+% Q\"****fF37$FhtF\\u7$7$Fet$!+mF)***>F37$FhtFau7$7$Fet$\"*&e-+?F=7$FhtF fu7$7$Fet$\"*ZM++'F=7$FhtF[v-F[o6%7$FhtF-F^oF_o-F[o6%7$$\"+i#*GTCF=F-F eoF_o-F[o6%7$$\"+C&yv!HF=F-F[pF_o-F[o6%7$$\"+(ynQP$F=F-FapF_o-F[o6%7$$ \"+\\q:SQF=F-FgpF_o-F[o6%F`vF^oFjp-F[o6%7$Fht$!+%Q\"**\\iF3F`qFjp-F[o6 %7$Fht$!+mF)*\\AF3FfqFjp-F[o6%7$Fht$\"*&e-]\"oF=7$$!+F9dGaF3$\"*aB0_&F =7$$!+dG9d[F3$\"*v'\\WVF=7$$!+&G9dG%F3$\"*YeYH$F=7$$!+:dG9PF3$\"*$e!RO #F=7$$!+Ur&G9$F3$\"*p%[R:F=7$$!+s&G9d#F3$\")D4y!)F=7$$!+++++?F3$\")-ii :F=7$$!+F9dG9F3$!*D([iUF37$$!*dG9d)F3$!**\\M#\\*F37$$!*&G9dGF3$!+Y:w?9 F37$$\")H9dGF=$!+^AkZ=F37$$\")'G9d)F=$!+q\"GcB#F37$$\"*Vr&G9F=$!+kSe*e #F37$$\"*++++#F=$!+`rj8HF37$$\"*dG9d#F=$!+()>I6KF37$$\"*9dG9$F=$!+7Oe& [$F37$$\"*s&G9PF=$!+EB1RPF37$$\"*H9dG%F=$!+mJ'R(RF37$$\"*'G9d[F=$!+@H@ #>%F37$$\"*Vr&GaF=$!+xp[&R%F37$$\"*++++'F=$!+]zC&e%F37$$\"*dG9d'F=$!+A wxiZF37$$\"*9dG9(F=$!+dM?H\\F37$$\"*s&G9xF=$!+52_&3&F37$$\"*H9dG)F=$!+ 04hK_F37$$\"*'G9d))F=$!+xtDr`F37$$\"*Vr&G%*F=$!+j$e@]&F37$FA$!+4\"Qfi& F3-%'COLOURG6&%$RGBGF7F7$\"*++++\"F=-%&STYLEG6#%&POINTG-F$6%7aoF\\z7$$ !+HU,\"*)*F3$!+^EAP%)F37$$!+e%G?y*F3$!+p38#*oF37$$!+)oUIn*F3$!+2$\\a\"F37$$!+2Jdz#*F3$!*i`bV%F37$$!+r^u%=*F3$\")%*zleF=7$$!+R75y!*F3$\" *NZ!f;F=7$$!+1tXr*)F3$\"*J8vj#F=7$$!+uL\"['))F3$\"*(>!4_$F=7$$!+U%p\"e ()F3$\"*)Q#*4VF=7$$!+nxYV&)F3$\"*ngCi&F=7$$!+#4m(G$)F3$\"*IpTf'F=7$$!+ c[3:\")F3$\"*W#4lsF=7$$!+@OS,zF3$\"*_wlo(F=7$$!+#p[B!yF3$\"*k&**4yF=7$ $!+iPH.xF3$\"*EkP*yF=7$$!+)HmPl(F3$\"*#3/AzF=7$$!+L)QUg(F3$\"*$y)=%zF= 7$$!+p8ravF3$\"*.nP&zF=7$$!+/R=0vF3$\"*'Q7ezF=7$$!+i#=ES(F3$\"*&)e]%zF =7$$!+?E0+tF3$\"*(F3$\"*DT;%yF=7$$!+P8#\\4(F3$\"*1hv v(F=7$$!+qUx#)oF3$\"*-*oHvF=7$$!+0siqmF3$\"*ikbC(F=7$$!+(y$pZiF3$\"*XV Gd'F=7$$!+#yaE\"eF3$\"*2:%3eF=7$$!+#>s%HaF3$\"*kG97&F=7$$!+]$*4)*\\F3$ \"*o`KO%F=7$$!+]_&\\c%F3$\"*#4oNOF=7$$!+]1aZTF3$\"*PE[(HF=7$$!+0#)[oPF 3$\"*96:T#F=7$$!+#=exJ$F3$\"*\"3N(y\"F=7$$!+K2$f$HF3$\"*`1hH\"F=7$$!+P Yx\"\\#F3$\")$4Xl(F=7$$!+K7i)4#F3$\")jI)H$F=7$$!+P'psm\"F3$!*Jd<9\"F37 $$!+74_c7F3$!*jAm1&F37$$!*2x%z#)F3$!*\"z\"R())F37$$!*?PQM%F3$!+E[M87F3 7$$!(#zr)*F3$!+pHtT:F37$$\")!o2J%F=$!+XMef=F37$$\")%Q#\\\")F=$!+a_l=@F 37$$\"*;*[H7F=$!+)p3;Q#F37$$\"*qvxl\"F=$!+`YTOEF37$$\"*`qn2#F=$!+4e^qG F37$$\"*cp@[#F=$!+j%3R3$F37$$\"*3'HKHF=$!+&4wpI$F37$$\"*xanL$F=$!+Fr&f \\$F37$$\"*v+'oPF=$!+\\5s'o$F37$$\"*S<*fTF=$!+TO\\]QF37$$\"*&)Hxe%F=$! +xER?SF37$$\"*.o-*\\F=$!+>W:sTF37$$\"*TO5T&F=$!+'*z*HK%F37$$\"*U9C#eF= $!+Q@JjWF37$$\"*1*3`iF=$!+z#\\Jg%F37$$\"*$*zym'F=$!+,\"o9t%F37$$\"*^j? 4(F=$!+kJnc[F37$$\"*jMF^(F=$!+vZAv\\F37$$\"*q(G**yF=$!+J7az]F37$$\"*9@ BM)F=$!+3%**R>&F37$$\"*`v&Q()F=$!+Gi.#H&F37$$\"*Ol5;*F=$!+r'HBR&F37$$ \"*/Uac*F=$!++'oW[&F37$FA$!+=#H&zbF3-F[el6&F]elF7F^elF7-Fael6#%%LINEG- F[o6$7$\"\"&!\"\"%\"tG-F[o6$7$F+Fa[n%!G-F[o6$7$F7\"#8%*Paso~FijoG-F$6% 7F7$$\"+++++?F=F]z7$$\"+jWJB?F=$!+6l'*HgF37$$\"+cESh?F=$!*S0d?\"F37$$ \"+!z&zx?F=$\"*#*fY.#F=7$$\"+]2d!4#F=$\"*J\">BNF=7$$\"+c9$G5#F=$\"**z- )y%F=7$$\"+=-%\\6#F=$\"*-Y(zeF=7$$\"+\\T3F@F=$\"*d*\\@oF=7$$\"+j9TR@F= $\"*s-zi(F=7$$\"+ld0_@F=$\"*\"*['3$)F=7$$\"+V'\\^;#F=$\"*@2-())F=7$$\" +s\\$)y@F=$\"*W1nJ*F=7$$\"+rHF$>#F=$\"**=R]'*F=7$$\"+7il3AF=$\"*/7=()* F=7$$\"+M^ADAF=$\"*h(yz**F=7$$\"+BJHVAF=$\"*&G9r**F=7$$\"+cyGjAF=$\"*. #4S)*F=7$$\"+Wa#eG#F=$\"*@1qd*F=7$$\"+Fx&=J#F=$\"*=de;*F=7$$\"+z(3IM#F =$\"*r(Hy&)F=7$$\"+T'GDQ#F=$\"*/lov(F=7$$\"+GcJRCF=$\"*\"[![a'F=7$$\"+ +'*)Gb#F=$\"*kD\"HVF=7$$\"+I#**3j#F=$\"*&>XAIF=7$$\"+;E6)p#F=$\"*Y[m.# F=7$$\"+%QG%oFF=$\"*ITF8\"F=7$$\"+-ASVGF=$\")=WEHF=7$$\"+!=$\\CHF=$!*M X*\\\\F37$$\"+zv28IF=$!+S()eO7F37$$\"+pUi5JF=$!+J^JO>F37$$\"+ZUy=KF=$! +%z\"4(f#F37$$\"+))*p%RLF=$!+)\\z5A$F37$$\"+y'Q\\Z$F=$!+&*e&*4QF37$$\" +O'*)yi$F=$!+=%y]O%F37$$\"+MXe,QF=$!+Oqe()[F37$$\"+,+++SF=$!+$>s%y`F3- F[el6&F]elF^elF7F7F`el-F$6%7aoF`\\n7$$\"+zP;5?F=$!+2;`f#)F37$$\"+evK?? F=$!+o'f(QlF37$$\"+P8\\I?F=$!+tXkc[F37$$\"+;^lS?F=$!+F;tIKF37$$\"+l&) \\\\?F=$!+'*p#R(=F37$$\"+:?Me?F=$!*izD!eF37$$\"+la=n?F=$\")KKIkF=7$$\" +:*Gg2#F=$\"*:'H!z\"F=7$$\"+*Huf3#F=$\"*M0Z)HF=7$$\"+$o>f4#F=$\"*#\\Uu SF=7$$\"+n]'e5#F=$\"*sc#e]F=7$$\"+^/\"e6#F=$\"*1#*p$fF=7$$\"+oI$e8#F=$ \"*-n()R(F=7$$\"+&obe:#F=$\"*&4'4[)F=7$$\"+QJyv@F=$\"*Xp\"G#*F=7$$\"+# f5d>#F=$\"*:xvp*F=7$$\"+U#[\\?#F=$\"*HH]$)*F=7$$\"+#*e=9AF=$\"*dA$G**F =7$$\"+)**F=7$$\"+mB/GAF=$\" *yZ^***F=7$$\"+\">hEB#F=FA7$$\"+ViAUAF=$\"*Y\\a)**F=7$$\"+&H\"z^AF=$\" *g))4%**F=7$$\"+YjNhAF=$\"*2t-()*F=7$$\"+(R@4F#F=$\"*yKmx*F=7$$\"+xdq! H#F=$\"*A^G_*F=7$$\"+d,\\5BF=$\"*F@k?*F=7$$\"+>?$*\\BF=$\"*J5sX)F=7$$ \"+BG]!R#F=$\"*$['eg(F=7$$\"+3wBECF=$\"*hm2%oF=7$$\"+8lYmCF=$\"*e&Q'*f F=7$$\"+-1'o]#F=$\"*G'3'=&F=7$$\"+\"z(yXDF=$\"*>\"4]WF=7$$\"+3u8\"e#F= $\"*$esAQF=7$$\"+A:F=7$$\"+;c'ot#F=$\"*#RN/:F=7$$\"+RD4xFF=$\"*5j)45F=7$$ \"+$3)R:GF=$\").]FdF=7$$\"++fObGF=$\")wI([\"F=7$$\"+K)o?*GF=$!*5QG9#F3 7$$\"+.zlJHF=$!*p.,!eF37$$\"+@)zF(HF=$!*36+M*F37$$\"+sld3IF=$!+@*HDA\" F37$$\"+V!Qs/$F=$!+?G^JF37$$\"+ e.UgLF=$!+b))\\SLF37$$\"+0-'zR$F=$!+Ci^4NF37$$\"+g,?PMF=$!+H5^xOF37$$ \"+!RkbZ$F=$!+#=zP$QF37$$\"+#=Gd^$F=$!+(4;&*)RF37$$\"+)o5Wb$F=$!+P]UKT F37$$\"+P\"pRf$F=$!+yh'=F%F37$$\"+B+?LOF=$!+at*QS%F37$$\"+K\"\\#pOF=$! +3[2?XF37$$\"+zac5PF=$!+>raZYF37$$\"+8$>vu$F=$!+I4tcZF37$$\"+2)>py$F=$ !+ZzUo[F37$$\"+26jCQF=$!+kK/r\\F37$$\"+]q:lQF=$!+sC\"p2&F3FijmF[[n-F[o 6$7$\"#NFb[nFc[n-F[o6$7$\"#GFa[nFg[n-F[o6$7$\"#IF[\\n%+AdaptativoG-%*A XESSTYLEG6#%%NONEG" 1 2 0 1 0 2 9 1 1 2 1.000000 45.000000 45.000000 0 }}}{PARA 13 "" 1 "" {GLPLOT2D 637 297 297 {PLOTDATA 2 "6J-%'CURVESG6 $7F7$$\"+++++?!\")$!+')>.i*)!\"*7$$\"+jWJB?F*$!+NEc$f(F-7$$\"+cESh?F*$ !+NZ9.'*F-7$$\"+!z&zx?F*$!+65HQ**F-7$$\"+]2d!4#F*$!+Uc#f)**F-7$$\"+c9$ G5#F*$!+**********F-7$$\"+=-%\\6#F*$!+7Bu'***F-7$$\"+\\T3F@F*$!+pevz** F-7$$\"+j9TR@F*$!+8PR]**F-7$$\"+ld0_@F*$!+9,v3**F-7$$\"+V'\\^;#F*$!+\\ ['R&)*F-7$$\"+s\\$)y@F*$!+9hC%y*F-7$$\"+rHF$>#F*$!+1(*o'p*F-7$$\"+7il3 AF*$!+]<'oe*F-7$$\"+M^ADAF*$!+Y`+[%*F-7$$\"+BJHVAF*$!+DQ`p#*F-7$$\"+cy GjAF*$!+(z#*R.*F-7$$\"+Wa#eG#F*$!+-UG5()F-7$$\"+Fx&=J#F*$!+q+9O#)F-7$$ \"+z(3IM#F*$!+'4\\4Y(F-7$$\"+T'GDQ#F*$!+C-_heF-7$$\"+GcJRCF*$!)AB9gF*7 $$\"++'*)Gb#F*$!+ssp&*QF-7$$\"+I#**3j#F*$!+pxt&*[F-7$$\"+;E6)p#F*$!+d& o$3YF-7$$\"+%QG%oFF*$!+%=+p<%F-7$$\"+-ASVGF*$!+QjF5OF-7$$\"+!=$\\CHF*$ !+c:<;HF-7$$\"+zv28IF*$!+;u+'3#F-7$$\"+pUi5JF*$!*r8H5\"F*7$$\"+ZUy=KF* $\"(jHt&F*7$$\"+))*p%RLF*$\"*/`mU\"F*7$$\"+y'Q\\Z$F*$\"*S5g/$F*7$$\"+O '*)yi$F*$\"*\"=\\n\\F*7$$\"+MXe,QF*$\"*`AtD(F*7$$\"+,+++SF*$\"+++++5F* -%'COLOURG6&%$RGBG$\"*++++\"F*\"\"!F]w-F$6$7S7$F($!+'QAa='F-7$$\"+;^lS ?F*Fbw7$$\"+:*Gg2#F*Fbw7$$\"+^/\"e6#F*Fbw7$$\"+&obe:#F*Fbw7$$\"+#f5d># F*Fbw7$$\"+\">hEB#F*Fbw7$$\"+(R@4F#F*Fbw7$$\"+d,\\5BF*Fbw7$$\"+>?$*\\B F*Fbw7$$\"+BG]!R#F*Fbw7$$\"+3wBECF*Fbw7$$\"+8lYmCF*Fbw7$$\"+-1'o]#F*Fb w7$$\"+\"z(yXDF*Fbw7$$\"+3u8\"e#F*Fbw7$$\"+A:vu$F*Fbw7$$\"+2)>py$F*Fbw7$ $\"+26jCQF*Fbw7$$\"+]q:lQF*Fbw-Fhv6&FjvF]wF]wF[w-%%TEXTG6$7$\"#N!\"\"% \"tG-Fg`l6$7$\"#G\"\"&%!G-Fg`l6$7$\"#I\"#8%5Evolucion~del~Paso~hG-F$6& 7$7$!#5\"#57$F]blF]bl7$7$F]bl$!+Zo@M#*F-7$F^blFbbl7$7$\"#?F^bl7$FgblF] bl7$Fhbl7$\"#SF]bl-F$6.7$7$F]bl$!+Zo@%)*)F-7$F]bl$!+Zo@%[*F-7$7$$!+yt5 P`F-F`cl7$FgclFccl7$7$$!*cZ@u'F-F`cl7$F\\dlFccl7$7$$\"*(yn))RF*F`cl7$F adlFccl7$7$$\"*\\q:l)F*F`cl7$FfdlFccl7$7$$!$v*!\"#Fbbl7$$!%D5F]elFbbl7 $7$F[el$!+/(3.>'F-7$F_elFcel7$7$F[el$!+i0SYJF-7$F_elFhel7$7$F[el$!*?C \\-\"F-7$F_elF]fl7$7$F[el$\"*s:9%HF*7$F_elFbfl7$7$F[el$\"*'QK&)fF*7$F_ elFgfl7$7$F[el$\"*,K#H!*F*7$F_elF\\gl-Fg`l6%7$F_elFccl%\"0G%+ALIGNBELO WG-Fg`l6%7$$!+yt5(e&F-Fccl%#2.GFcgl-Fg`l6%7$$!*cZ@C*F-Fccl%#4.GFcgl-Fg `l6%7$$\"*(ynQPF*Fccl%#6.GFcgl-Fg`l6%7$$\"*\\q:S)F*Fccl%#8.GFcgl-Fg`l6 %FaglFbgl%*ALIGNLEFTG-Fg`l6%7$F_el$!+/(3.W'F-%'.10e-1GF^il-Fg`l6%7$F_e l$!+i0S'R$F-%'.20e-1GF^il-Fg`l6%7$F_el$!*?C\\_$F-%'.30e-1GF^il-Fg`l6%7 $F_el$\"*s:9p#F*%'.40e-1GF^il-Fg`l6%7$F_el$\"*'QKNdF*%'.50e-1GF^il-Fg` l6%7$F_el$\"*,K#z()F*%'.60e-1GF^il-F$607$7$FgblF[el7$FgblF_el7$7$$\"+i #*GmCF*F[el7$Fj[mF_el7$7$$\"+C&yD$HF*F[el7$F_\\mF_el7$7$$\"+(yn))R$F*F [el7$Fd\\mF_el7$7$$\"+\\q:lQF*F[el7$Fi\\mF_el7$7$$\"%D?F]el$!+()>.i*)F -7$$\"%v>F]elF`]m7$7$F^]m$!+WnW-oF-7$Fc]mFg]m7$7$F^]m$!++:'Gk%F-7$Fc]m F\\^m7$7$F^]m$!+ciF$[#F-7$Fc]mFa^m7$7$F^]m$!*75pB$F-7$Fc]mFf^m7$7$F^]m $\"*B%*e$=F*7$Fc]mF[_m7$7$F^]m$\"*[za*RF*7$Fc]mF`_m7$7$F^]m$\"*sk]:'F* 7$Fc]mFe_m7$7$F^]m$\"*'*\\YJ)F*7$Fc]mFj_m-Fg`l6%7$Fc]mF_elFbglFcgl-Fg` l6%7$$\"+i#*GTCF*F_elFiglFcgl-Fg`l6%7$$\"+C&yv!HF*F_elF_hlFcgl-Fg`l6%7 $$\"+(ynQP$F*F_elFehlFcgl-Fg`l6%7$$\"+\\q:SQF*F_elF[ilFcgl-Fg`l6%7$Fc] m$!+()>.7#*F-%$.10GF^il-Fg`l6%7$Fc]m$!+WnW_qF-%$.20GF^il-Fg`l6%7$Fc]m$ !++:'G*[F-%$.30GF^il-Fg`l6%7$Fc]m$!+ciFLFF-%$.40GF^il-Fg`l6%7$Fc]m$!*7 5pt&F-%$.50GF^il-Fg`l6%7$Fc]m$\"*B%*ee\"F*%$.60GF^il-Fg`l6%7$Fc]m$\"*[ zau$F*%$.70GF^il-Fg`l6%7$Fc]m$\"*sk]!fF*%$.80GF^il-Fg`l6%7$Fc]m$\"*'* \\Y1)F*%$.90GF^il-F$6$7F7$$!+++++5F*$!+Yo@M#*F-7$$!+')z4n%*F-$!+xQvzdF -7$$!+sf>M*)F-$\"+%H!R%4%F-7$$!+eRH,%)F-Fev7$$!+V>RoyF-$\"+MbSz')F-7$$ !+H**[NtF-$\"+%*=!f;%F-7$$!+;ze-oF-$!*yjaQ#F-7$$!+,fopiF-$!+j#\\wb$F-7 $$!+')QyOdF-$!+@VEQeF-7$$!+t=)Q?&F-$!+&[)>]tF-7$$!+e)z4n%F-$!+B1IQ$)F- 7$$!+Xy2QTF-$!+#\\v%z*)F-7$$!+Ie<0OF-$!+!GuDR*F-7$$!+)*F-7$$!+'ypk+#F-$!+'eOp\"**F-7$$!+uxct9F-$!+gooq* *F-7$$!*edmS*F-$!+'))*4&***F-7$$!*YPw2%F-FE7$$\")FQ^7F*$!+zJ.#***F-7$$ \")GS!e'F*$!+KTsv**F-7$$\"*IU4>\"F*$!+vy;a**F-7$$\"*JWQs\"F*$!+sn[H**F -7$$\"*LYnD#F*$!+wh8.**F-7$$\"*M['*y#F*$!+Y26w)*F-7$$\"*N]DK$F*$!+\"*[ 3\\)*F-7$$\"*P_a&QF*$!+j&4D#)*F-7$$\"*Qa$)Q%F*$!+6\"zmz*F-7$$\"*Sc7#\\ F*$!+*HylF*$!+15[.(*F-7$$\"*XkG0(F*$!+-\">Ho*F-7$$\"*Zmde(F*$!+*[KMm*F-7$$\" *[o'=\")F*$!+5Y)\\k*F-7$$\"*]q:l)F*$!+\\@`F'*F-Fd`l-F$6$7FF]em7$$!+p`& ow*F-$!+VJ%4;*F-7$$!+VM(fQ*F-$!+%=#*3-*F-7$$!+*4U?A*F-$!+>WpY!*F-7$$!+ )\\#H%4*F-$!+:G&*o!*F-7$$!+Qaor*)F-$!+-\"eA4*F-7$$!+>yf]))F-$!+_hD;\"* F-7$$!+1&e\"H()F-$!+Bn_S\"*F-7$$!+q`)eg)F-$!+0Ivk\"*F-7$$!+_BWz%)F-$!+ jOo)=*F-7$$!+tN][$)F-$!+Y167#*F-7$$!+#G];@)F-$!+On&[B*F-7$$!+#Hqs1)F-$ !+Egwc#*F-7$$!+$)yV8zF-$!+uwpx#*F-7$$!+g'[xu(F-$!+;%=vH*F-7$$!+q(oqc(F -$!+zS4;$*F-7$$!+S97ntF-$!+q[FL$*F-7$$!+ebuTrF-$!+2k')[$*F-7$$!+EFU\") oF-$!+e%fDO*F-7$$!+8A\"*plF-$!+u'>PP*F-7$$!+(e8Z<'F-$!+9A`!Q*F-7$$!+CP %og&F-$!+5*>QP*F-7$$!+)*R5rWF-$!+gHar\"*F-7$$!+/x+\"p$F-$!+0Yf1\"*F-7$ $!+TQ()=IF-$!+Guq$4*F-7$$!+dhr:BF-$!+b>V&3*F-7$$!+%)z(fc\"F-$!+)y>,3*F -7$$!*+#o]vF-$!+'3Fm2*F-7$$\")zv28F*$!+['fV2*F-7$$\"*pUi5\"F*$!+G;&H2* F-7$$\"*ZUy=#F*$!+Za;s!*F-7$$\"*))*p%R$F*$!+B+%=2*F-7$$\"*y'Q\\ZF*$!+I M'=2*F-7$$\"*O'*)yiF*$!+Tn:s!*F-7$$\"*MXe,)F*$!+NPms!*F-7$$\"+,+++5F*$ !+WWMt!*F-Fgv-Fg`l6$7$FaalF[alFbal-Fg`l6$7$F]elFaalFbal-Fg`l6$7$F]wFga l%&ErrorG-%*AXESSTYLEG6#%%NONEG" 1 2 0 1 0 2 9 1 1 2 1.000000 45.000000 45.000000 0 }}}}{PARA 0 "" 0 "" {TEXT -1 1 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 101 "S e observa como el m\351todo adaptativo concentra su trabajo cuando hay zonas complicadas (cambios en el" }}{PARA 0 "" 0 "" {TEXT -1 111 "com portamiento de la soluci\363n), como puede verse en las gr\341ficas de la derecha. Al usar un paso fijo nos vemos " }}{PARA 0 "" 0 "" {TEXT -1 107 "forzados a usar un paso innecesariamente peque\361o en el inte rvalo (2..8) y a la vez demasiado grande en el " }}{PARA 0 "" 0 "" {TEXT -1 109 "intervalo [0..1]. En la gr\341fica de la izquierada (aba jo) se compara el error del Euler fijo (azul) con la del" }}{PARA 0 " " 0 "" {TEXT -1 20 "adaptativo (rojo). " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 106 "A partir de estas gr\341ficas se \+ puede ver como la estrategia de un m\351todo adaptativo es mantener co nstante " }}{PARA 0 "" 0 "" {TEXT -1 111 "(m\341s o menos) el error p or paso, a base de acortar/alargar el paso donde haga falta. Las dife rencias se hacen " }}{PARA 0 "" 0 "" {TEXT -1 109 "m\341s notables si \+ alargamos el tiempo de observaci\363n, porque para t's altos la soluci \363n es bastante f\341cil y el " }}{PARA 0 "" 0 "" {TEXT -1 102 "m \351todo adaptativo puede sacar partido de ello. Poned tf=20, 30, 50 y observad que el m\351todo adaptativo" }}{PARA 0 "" 0 "" {TEXT -1 57 " mantiene un error bajo con muy pocas estimaciones extras." }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 1 " " }{TEXT 261 62 "Otra estrategia adaptati va: comparar m\351todos de orden p y p+1" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 113 " En el apartado anterior vimos co mo usar dos estimaciones de un mismo m\351todo (para h y h/2) para est imar el error" }}{PARA 0 "" 0 "" {TEXT -1 110 "cometido y adaptar el p aso. La otra estrategia t\355pica es comparar dos m\351todos, uno de o rden p y otro de orden " }}{PARA 0 "" 0 "" {TEXT -1 109 "superior (t \355picamente p+1). La idea es la misma: para valores suficientemente \+ peque\361os de h el resultado del " }}{PARA 0 "" 0 "" {TEXT -1 107 "m \351todo m\341s preciso ser\341 mucho m\341s parecido a la verdadera s oluci\363n y podemos usar la diferencia entre ambos" }}{PARA 0 "" 0 " " {TEXT -1 86 "como estimaci\363n del error cometido. En base a dicha \+ estimaci\363n modificaremos el paso. " }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "# Ecuacion diferencial " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 " ecu:=diff(y(t),t)=1/(1+t*t)-2*y(t)*y(t):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "# Soluci\363n v erdadera" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "ok:=proc(t) RETURN(t/(1 +t*t)); end:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 35 "# Condiciones iniciales e intervalo" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 21 "t0:=0:tf:=10:y0:=0.0:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "# y' = f(x,y)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "deriv := proc (x,y) RETURN(1/(1+ x*x)-2*y*y); end:" }{TEXT -1 1 " " }{MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "rk12:= proc( t0,tf,yini,h0,umbral)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 62 "local t,k, h,ylast,ynext,y1,m1,m2,err,sol,Uh,Np,abserr,F,hnext;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "sol:=array (1..4,1..1000);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 56 "sol[1,1]:=t0; so l[2,1]:=y0; sol[3,1]:=h0; sol[4,1]:=0.0;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "for k from 2 to 1000 while sol[1,k-1] " 0 "" {MPLTEXT 1 0 0 "" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 " t:=sol[1,k-1]; ylast:=sol[2,k-1] ; h:=sol[3,k-1];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 4 " " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " m1:=deriv(t,ylast); y1:=ylast+h*m1;" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 " m2:=deriv(t+h,y1); ynext:=ylast+ h*(m1+m2)/2;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 56 " #m2:=deriv(t+0.5* h,ylast+0.5*h*m1); ynext:=ylast+h*m2;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 " err:=(ynext-y1);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " abserr:=abs(err); " }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 16 " #Uh:=umbral*h;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 13 " Uh:=umbral;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 55 " #if (abserr > 2*Uh) then F:=min (2.0,sqrt(Uh/abserr));" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 60 " #elif ( abserr< 0.5*Uh) then F:=max(0.125,sqrt(Uh/abserr));" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 15 " #else F:=1.0;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 6 " #fi;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 1 " " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 46 " F:= max (0.125, min(2.0, sqrt(Uh/abserr) ));" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 " hnext:=F*h; " }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 6 " " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 65 " sol[1 ,k]:=t+h; sol[2,k]:=ynext; sol[3,k]:=hnext: sol[4,k]:=err;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 68 " #printf(\"%3d %5.2f %5.2f %5.2e %5.2e %5. 2e\\n\",k,t+h,y1,ynext,err);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 2 " " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 10 " Np:=k-1; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 43 " printf(\"Numero de pasos en adap %d\\n\",Np) ;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 23 " #for k from 1 to Np do" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 " # printf(\"%3d %4.2f %5.2e \",k, sol[1,k],sol[2,k]); " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 47 " # printf( \"%4.2f %5.2e\\n\",sol[3,k],sol[4,k]); " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 5 " #od;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 43 " RETURN(linalg[submatrix](sol,1..4,1..Np) );" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "end:" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "t0:=0: tf:=10: y0:=ok(t0): h0:=0.1:" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "Nfijo:=2 5: h:=(tf-t0)/Nfijo: " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "rk2:=diff num(ecu,t0,tf,y0,h,rk2):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "h0:=0.1 : E:=5e-3:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "adap:=rk12(t0,tf,y0,h 0,E):" }}{PARA 6 "" 1 "" {TEXT -1 21 "N pasos en diffnum 25" }}{PARA 6 "" 1 "" {TEXT -1 26 "Numero de pasos en adap 27" }}}{PARA 0 "" 0 "" {TEXT -1 3 " " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "#Pintamos am bos resultados lado a lado." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 71 "esti lo:= style=[point,line]: colores:= color=[red,green]: T:= t=t0..tf:" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "# Adaptativo frente a ok" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 67 "p1: =plot([graf(adap,2),ok(t)],T,estilo,colores,title=`Adaptativo`):" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "# Fijo versus ok" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "colores:= color=[blue,green]:" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 65 "p2:=plot([graf(rk2,2),ok(t)],T,estilo,colores,title =`Paso Fijo`):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "display(array(1..2,[p2,p1]));" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "#Comparamos \+ los errors de ambos m\351todos" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "e rr_rk2:=plot_error(rk2,ok,blue):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "err_adap:=plot_error(adap,ok,red):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "errores:=display(err_rk2,err_adap):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "#Comparamos los pasos us ado en adaprativo" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "colores:= colo r=[red,blue]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 69 "pasos:=plot([graf( adap,3),h],T,colores,title=`Evoluci\363n del Paso h`):" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "display( array(1..2,[errores,pasos]));" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 13 "" 1 "" {GLPLOT2D 672 288 288 {PLOTDATA 2 "6F-%'CURVESG6-7$7$ !#5$!$v*!\"#7$F($!%D5F+7$7$$!+++++g!\"*F)7$F1F-7$7$$!+++++?F3F)7$F7F-7 $7$$\"*++++#!\")F)7$FF)7$FBF-7$7$$\"+++++5F>F)7$FGF- 7$7$F)F(7$F-F(7$7$F)$!+we'***fF37$F-FO7$7$F)$!+_<$***>F37$F-FT7$7$F)$ \"*P-,+#F>7$F-FY7$7$F)$\"*]O,+'F>7$F-Fhn-%%TEXTG6%7$F-F-%\"0G%+ALIGNBE LOWG-F\\o6%7$$!++++]iF3F-%#2.GF`o-F\\o6%7$$!++++]AF3F-%#4.GF`o-F\\o6%7 $$\"*+++v\"F>F-%#6.GF`o-F\\o6%7$$\"*+++v&F>F-%#8.GF`o-F\\o6%7$$\"*+++v *F>F-%$10.GF`o-F\\o6%F^oF_o%*ALIGNLEFTG-F\\o6%7$F-$!+we'*\\iF3%$.10GFa q-F\\o6%7$F-$!+_<$*\\AF3%$.20GFaq-F\\o6%7$F-$\"*P-,v\"F>%$.30GFaq-F\\o 6%7$F-$\"*]O,v&F>%$.40GFaq-F$6-7$7$\"#?F)7$F^sF-7$7$$\"+'4L^O#F>F)7$Fb sF-7$7$$\"+$>m-t#F>F)7$FgsF-7$7$$\"+*G*R&4$F>F)7$F\\tF-7$7$$\"+&QK0Y$F >F)7$FatF-7$7$$\"+#[lc#QF>F)7$FftF-7$7$$\"%D?F+F(7$$\"%v>F+F(7$7$F[uFO 7$F^uFO7$7$F[uFT7$F^uFT7$7$F[uFY7$F^uFY7$7$F[uFhn7$F^uFhn-F\\o6%7$F^uF -F_oF`o-F\\o6%7$$\"+'4L,M#F>F-FfoF`o-F\\o6%7$$\"+$>m_q#F>F-F\\pF`o-F\\ o6%7$$\"+*G*RqIF>F-FbpF`o-F\\o6%7$$\"+&QKbV$F>F-FhpF`o-F\\o6%7$$\"+#[l 1!QF>F-F^qF`o-F\\o6%F^vF_oFaq-F\\o6%7$F^uFeqFgqFaq-F\\o6%7$F^uF[rF]rFa q-F\\o6%7$F^uFarFcrFaq-F\\o6%7$F^uFgrFirFaq-F$6&7$7$F(\"#57$F(F(7$F[y7 $FjxF(7$7$F^sFjx7$F^sF(7$F`y7$\"#SF(-F$6%7<7$$!+++++5F>Fhy7$$!+++++#*F 3$\"*(plOBF>7$$!+++++%)F3$\"**>$)fsF>7$$!+++++wF3$\"*')yK+)F>7$$!+++++ oF3$\"*)Gz>qF>7$F1$\"*%[*))\\&F>7$$!+++++_F3$\"*e<'\\RF>7$$!+++++WF3$ \"*\"\\U[DF>7$$!+++++OF3$\"*1,TL\"F>7$$!+++++GF3$\")+\"H'HF>7$F7$!*,d> *eF37$$!+++++7F3$!+v@eZ8F37$$!*++++%F3$!+!>(4,?F37$$\")+++SF>$!+#px\"o DF37$$\"*+++?\"F>$!+(ecP1$F37$F<$!+W\\$)*\\$F37$$\"*+++!GF>$!+9n0')QF3 7$$\"*+++g$F>$!+96?IUF37$$\"*+++S%F>$!+*Gz&QXF37$$\"*+++?&F>$!+nbM;[F3 7$FB$!+2\"Rx1&F37$$\"*+++!oF>$!+05F'H&F37$$\"*+++g(F>$!+S%p[]&F37$$\"* +++S)F>$!+BF*fp&F37$$\"*+++?*F>$!+AyrreF37$FG$!+@,\"Q.'F3-%'COLOURG6&% $RGBG\"\"!Faal$\"*++++\"F>-%&STYLEG6#%&POINTG-F$6%7aoFgy7$$!+:r]X**F3$ !+x9%4\"*)F37$$!+HU,\"*)*F3$!+!\\>n#yF37$$!+W8_O)*F3$!+R#*4_nF37$$!+e% G?y*F3$!+iaq\"p&F37$$!+tb`F(*F3$!+jv&*\\YF37$$!+(oUIn*F3$!+B4,JOF37$$! +-)\\&='*F3$!+heqQEF37$$!+7$$!+2Jdz#*F3$\"*\"o!Qv#F>7$$!+r^u%=*F3$\"*< ()>)RF>7$$!+R75y!*F3$\"*7$$!+1tXr*)F3$\"*yM%oiF>7$$!+uL\"['))F3 $\"*a;=<(F>7$$!+U%p\"e()F3$\"*o*yDzF>7$$!+nxYV&)F3$\"*2x^.*F>7$$!+#4m( G$)F3$\"*-Q>o*F>7$$!+ua#>A)F3$\"*\"oii)*F>7$$!+c[3:\")F3$\"*)*)4l**F>7 $$!+ZXmh!)F3$\"*jm.***F>7$$!+RUC3!)F3FG7$$!+IR#[&zF3$\"*L#=&***F>7$$!+ ?OS,zF3$\"*\"f.x**F>7$$!+iPH.xF3$\"*7M.\")*F>7$$!+/R=0vF3$\"*F97_*F>7$ $!+Q8#\\4(F3$\"*=:Jo)F>7$$!+/siqmF3$\"*Xvql(F>7$$!+)y$pZiF3$\"*R[Mg'F> 7$$!+%yaE\"eF3$\"*v_kb&F>7$$!+#>s%HaF3$\"*Q91p%F>7$$!+]$*4)*\\F3$\"*3D %*y$F>7$$!+]_&\\c%F3$\"*RaR'HF>7$$!+]1aZTF3$\"*`K,C#F>7$$!+/#)[oPF3$\" *q`\"R;F>7$$!+%=exJ$F3$\")!>$y)*F>7$$!+M2$f$HF3$\")M%e%[F>7$$!+QYx\"\\ #F3$!)h@(3&F37$$!+M7i)4#F3$!*%RSZ[F37$$!+Q'psm\"F3$!*]9=A*F37$$!+74_c7 F3$!+`O=08F37$$!*3x%z#)F3$!+(psOn\"F37$$!*?PQM%F3$!+*3Np)>F37$$!(#zr)* F3$!+l4h+BF37$$\")!o2J%F>$!+gH\\-EF37$$\")%Q#\\\")F>$!+$*ROZGF37$$\"*; *[H7F>$!+,O([4$F37$$\"*qvxl\"F>$!+vKxLLF37$$\"*`qn2#F>$!+$*Q[_NF37$$\" *cp@[#F>$!+%)*G7v$F37$$\"*3'HKHF>$!+N@QeRF37$$\"*xanL$F>$!+X%=M8%F37$$ \"*v+'oPF>$!++Op4VF37$$\"*S<*fTF>$!+x!42Y%F37$$\"*&)Hxe%F>$!+rT2$!+Ov\\cZF37$$\"*TO5T&F>$!+K@&[*[F37$$\"*U9C#eF>$!+0RNB]F3 7$$\"*1*3`iF>$!+gvB^^F37$$\"*$*zym'F>$!+&4L%o_F37$$\"*^j?4(F>$!+elk#Q& F37$$\"*jMF^(F>$!+.%o1\\&F37$$\"*q(G**yF>$!+`Pi&e&F37$$\"*9@BM)F>$!+x. r*o&F37$$\"*`v&Q()F>$!+&G#yydF37$$\"*Ol5;*F>$!+E(G)peF37$$\"*/Uac*F>$! +6mS`fF37$FG$!+u,dRgF3-F^al6&F`alFaalFbalFaal-Feal6#%%LINEG-F\\o6$7$\" \"&!\"\"%\"tG-F\\o6$7$F+Fcgm%!G-F\\o6$7$Faal\"#8%*Paso~FijoG-F$6%7=7$$ \"+++++?F>Fhy7$$\"+bmD=?F>$!+m$o(fgF37$$\"+MPk^?F>$\")jO)>$F>7$$\"+!pE #p?F>$\"*uM.5$F>7$$\"+5#eU3#F>$\"*.wT1&F>7$$\"+H0'*)4#F>$\"*\\d8h'F>7$ $\"+%QhQ6#F>$\"*q;N#yF>7$$\"+Q\"\\$H@F>$\"*#f%=u)F>7$$\"+K\"*zX@F>$\"* 0B!*Q*F>7$$\"+LDkj@F>$\"*91lx*F>7$$\"+.\"RM=#F>$\"*OCq!**F>7$$\"+xB*f? #F>$\"**=Iu(*F>7$$\"+53eKAF>$\"*VK&f$*F>7$$\"+)))GbE#F>$\"*RK0i)F>7$$ \"+5<55BF>$\"*V%RauF>7$$\"+`aK'Q#F>$\"*_i\\Z&F>7$$\"+'y=b]#F>$\"*x-o$H F>7$$\"+a,/!e#F>$\"*y)Rz:F>7$$\"+?c$)fEF>$\")&4W\"QF>7$$\"+rb3]FF>$!*3 u?B(F37$$\"+T0D`GF>$!+s'\\6u\"F37$$\"+$!+?&o(zEF37$$\"+wm>7JF>$ !+G*4Sa$F37$$\"+&ezqF$F>$!+3gyPVF37$$\"+$>DQZ$F>$!+(3wV1&F37$$\"+B/,6P F>$!+drpEdF37$$\"+++++SF>$!+=uYFjF3-F^al6&F`alFbalFaalFaalFdal-F$6%7ao Fbhm7$$\"+*Gu\\+#F>F^bl7$$\"+y&[*4?F>Fcbl7$$\"+nG#\\,#F>Fhbl7$$\"+cr*) >?F>F]cl7$$\"+X9([-#F>Fbcl7$$\"+Md%)H?F>Fgcl7$$\"+B+#[.#F>F\\dl7$$\"+7 VzR?F>Fadl7$$\"+;0X[?F>Ffdl7$$\"+@n5d?F>F[el7$$\"+EHwl?F>F`el7$$\"+I\" >W2#F>Feel7$$\"+PR:%3#F>Fjel7$$\"+X())Q4#F>F_fl7$$\"+_Ni.@F>Fdfl7$$\"+ f$eL6#F>Fifl7$$\"+Jq&H8#F>F^gl7$$\"+.db_@F>Fcgl7$$\"+k%3B;#F>Fhgl7$$\" +E71s@F>F]hl7$$\"+1w$p<#F>Fbhl7$$\"+()R\"==#F>FG7$$\"+o.p'=#F>Fjhl7$$ \"+\\nc\">#F>F_il7$$\"+l3l4AF>Fdil7$$\"+#)\\tFAF>Fiil7$$\"+#4&=lAF>F^j l7$$\"+]g\"RI#F>Fcjl7$$\"+(zADM#F>Fhjl7$$\"+\"eMAQ#F>F][m7$$\"+VF@ Fb[m7$$\"+o)*ecCF>Fg[m7$$\"+!oGh\\#F>F\\\\m7$$\"+^;BMDF>Fa\\m7$$\"+*zK )oDF>Ff\\m7$$\"+6p(*4EF>F[]m7$$\"+r8$[k#F>F`]m7$$\"+%Rv`o#F>Fe]m7$$\"+ CPE@FF>Fj]m7$$\"+5*Q1w#F>F_^m7$$\"+)RL\")z#F>Fd^m7$$\"+j\\DPGF>Fi^m7$$ \"+t2=tGF>F^_m7$$\"+7;$>\"HF>Fc_m7$$\"+UG=_HF>Fh_m7$$\"+d;A()HF>F]`m7$ $\"+PX1DIF>Fb`m7$$\"+N*fT1$F>Fg`m7$$\"+arS-JF>F\\am7$$\"+0LTRJF>Faam7$ $\"+FB]!=$F>Ffam7$$\"+TEUF[bm7$$\"+cH%oD$F>F`bm7$$\"+@Oc#H$F>Febm7 $$\"+UdhJLF>Fjbm7$$\"+X2OoLF>F_cm7$$\"+h)pnS$F>Fdcm7$$\"+#z@VW$F>Ficm7 $$\"+%=NO[$F>F^dm7$$\"+`')\\@NF>Fcdm7$$\"+=&>-c$F>Fhdm7$$\"+b(>')f$F>F ]em7$$\"+&e0Rj$F>Fbem7$$\"+GrMuOF>Fgem7$$\"+F&=0r$F>F\\fm7$$\"+\"y%3\\ PF>Fafm7$$\"+3w*fy$F>Fffm7$FftFifmF[gmF]gm-F\\o6$7$\"#NFdgmFegm-F\\o6$ 7$\"#GFcgmFigm-F\\o6$7$\"#IF]hm%+AdaptativoG-%*AXESSTYLEG6#%%NONEG" 1 2 0 1 0 2 9 1 1 2 1.000000 45.000000 45.000000 0 }}}{PARA 13 "" 1 "" {GLPLOT2D 653 299 299 {PLOTDATA 2 "6K-%'CURVESG6&7$7$!#5\"#57$F(F(7$7$ F($\"*CzCp)!\")7$F)F-7$7$\"#?F)7$F3F(7$F47$\"#SF(-F$6.7$7$F($\"*CzC%*) F/7$F($\"*CzCW)F/7$7$$!+O!p'[j!\"*F<7$FCF?7$7$$!+u!Qtp#FEF<7$FIF?7$7$$ \")*G*R&*F/F<7$FNF?7$7$$\"*&QK0YF/F<7$FSF?7$7$$\"*#[lc#)F/F<7$FXF?7$7$ $!$v*!\"#$!+]-a/zFE7$$!%D5FinFjn7$7$Fgn$!+aj8&e%FE7$F]oFao7$7$Fgn$!+cC tl7FE7$F]oFfo7$7$Fgn$\"*WrO0#F/7$F]oF[p7$7$Fgn$\"*MvIP&F/7$F]oF`p7$7$F gnF-7$F]oF--%%TEXTG6%7$F]oF?%\"0G%+ALIGNBELOWG-Fgp6%7$$!+O!p')f'FEF?%# 2.GF[q-Fgp6%7$$!+u!Qt%HFEF?%#4.GF[q-Fgp6%7$$\")*G*RqF/F?%#6.GF[q-Fgp6% 7$$\"*&QKbVF/F?%#8.GF[q-Fgp6%7$$\"*#[l1!)F/F?%$10.GF[q-Fgp6%7$F]o$!+]- aa\")FE%(-.50e-1G%*ALIGNLEFTG-Fgp6%7$F]o$!+aj8N[FE%(-.40e-1GF`s-Fgp6%7 $F]o$!+cCt::FE%(-.30e-1GF`s-Fgp6%7$F]o$\"*WrO!=F/%(-.20e-1GF`s-Fgp6%7$ F]o$\"*MvI7&F/%(-.10e-1GF`s-Fgp6%FipFjpF`s-F$617$7$F3Fgn7$F3F]o7$7$$\" +'4L^O#F/Fgn7$FbuF]o7$7$$\"+$>m-t#F/Fgn7$FguF]o7$7$$\"+*G*R&4$F/Fgn7$F \\vF]o7$7$$\"+&QK0Y$F/Fgn7$FavF]o7$7$$\"+#[lc#QF/Fgn7$FfvF]o7$7$$\"%D? Fin$!+1z2A()FE7$$\"%v>FinF]w7$7$F[w$!+)4OFe'FE7$F`wFdw7$7$F[w$!+)G%RVW FE7$F`wFiw7$7$F[w$!+![_SI#FE7$F`wF^x7$7$F[w$!*q1rk\"FE7$F`wFcx7$7$F[w$ \"*9JY(>F/7$F`wFhx7$7$F[w$\"*&H(R6%F/7$F`wF]y7$7$F[w$\"*w9LD'F/7$F`wFb y7$7$F[w$\"*dcER)F/7$F`wFgy-Fgp6%7$F`wF]oFjpF[q-Fgp6%7$$\"+'4L,M#F/F]o FaqF[q-Fgp6%7$$\"+$>m_q#F/F]oFgqF[q-Fgp6%7$$\"+*G*RqIF/F]oF]rF[q-Fgp6% 7$$\"+&QKbV$F/F]oFcrF[q-Fgp6%7$$\"+#[l1!QF/F]oFirF[q-Fgp6%7$F`w$!+1z2s *)FE%$.20GF`s-Fgp6%7$F`w$!+)4OF$oFE%$.40GF`s-Fgp6%7$F`w$!+)G%R$p%FE%$. 60GF`s-Fgp6%7$F`w$!+![_Sb#FE%$.80GF`s-Fgp6%7$F`w$!*q1r9%FE%%1.00GF`s-F gp6%7$F`w$\"*9JYs\"F/%%1.20GF`s-Fgp6%7$F`w$\"*&H(R'QF/%%1.40GF`s-Fgp6% 7$F`w$\"*w9L+'F/%%1.60GF`s-Fgp6%7$F`w$\"*dcE9)F/%%1.80GF`s-F$6$7<7$$!+ ++++5F/$\"+Q#zCp)FE7$$!+2Qtp#*FE$!+U%HZR$FE7$$!+9wYR&)FEF`_l7$$!+A9?4y FE$!+#H#yd^FE7$$!+H_$*yqFE$\"*r$*\\V(FE7$FC$\"+*)f&H`%FE7$$!+VGS=cFE$ \"+v*pQg'FE7$$!+]m8))[FE$\"+]tK&o(FE7$$!+e/(y:%FE$\"+!*GAX#)FE7$$!+lUg FMFE$\"+kz%\\`)FE7$$!+s!Qtp#FE$\"+yI%Qo)FE7$$!+z=2n>FE$\"+$>'Re()FE7$$ !+'o0oB\"FE$\"+91F$z)FE7$$!*%\\Rl]FE$\"+V2(o!))FE7$$\")qEPAF/$\"+;594) )FE7$FN$\"+*zIb!))FE7$$\"*3fUo\"F/$\"+\\H0*z)FE7$$\"*GDXT#F/$\"+M_P\"z )FE7$$\"*Z\"zWJF/$\"+$Q7My)FE7$$\"*md](QF/$\"+5Ilv()FE7$$\"*'QK0YF/$\" +=LMo()FE7$$\"*0!fN`F/$\"+#)>fh()FE7$$\"*Cce1'F/$\"+s.Vb()FE7$$\"*VAhz 'F/$\"+lx%)\\()FE7$$\"*j)QEvF/$\"++9\"[u)FE7$FX$\"+(oy-u)FE-%'COLOURG6 &%$RGBG\"\"!F]gl$\"*++++\"F/-F$6$7=F__l7$$!+_MV<)*FE$\"+wd'[_)FE7$$!+l Ec$[*FE$\"+k&4**Q(FE7$$!+.Jt2$*FE$\"+Ub4gtFE7$$!+'*yTd\"*FE$\"+^t`0uFE 7$$!+5ZR5!*FE$\"+Gn)GZ(FE7$$!+dhQh))FE$\"+SRc_vFE7$$!+B'3lq)FE$\"+\"y8 'RwFE7$$!+!o3?a)FE$\"+*\\x5t(FE7$$!+nYdj$)FE$\"+]hADyFE7$$!+t*3c;)FE$ \"+\"=(R@zFE7$$!+Li2SzFE$\"+8mF?!)FE7$$!+->>uwFE$\"+*f(*\\7)FE7$$!+A6r WtFE$\"+3Y#\\C)FE7$$!+(*G)*)*oFE$\"+#y%FE$\"+%=#3B(*FE7$$!++Qk,MFE$\"+! y_.`*FE7$$!+'GW\"*\\#FE$\"+ZK],%*FE7$$!+)e%\\n9FE$\"+v3M8$*FE7$$!*L3$Q FFE$\"+:#*>_#*FE7$$\"*wm>7\"F/$\"+&H?*3#*FE7$$\"*&ezqFF/$\"+'G.u<*FE7$ $\"*$>DQZF/$\"+My``\"*FE7$$\"*B/,6(F/$\"+@$[X8*FE7$Fa\\m$\"+I&e&=\"*FE -Fjfl6&F\\glF^glF]glF]gl-Fgp6$7$\"\"&!\"\"%!G-Fgp6$7$FinFh_mFj_m-Fgp6$ 7$F]gl\"#8%&ErrorG-F$6$7=7$$\"+++++?F/$!+1)[7JF/$!+J\"33?\"FE7$$\"+&ezqF$F/$ \")!40m'F/7$$\"+$>DQZ$F/$\"*HQa.$F/7$$\"+B/,6PF/$\"*F$pqgF/7$$\"+++++S F/Fa\\mFc_m-F$6$7S7$Fg`m$!+%4OFe'FE7$$\"+7VzR?F/F_im7$$\"+I\">W2#F/F_i m7$$\"+f$eL6#F/F_im7$$\"+.db_@F/F_im7$$\"+\\nc\">#F/F_im7$$\"+#)\\tFAF /F_im7$$\"+#4&=lAF/F_im7$$\"+]g\"RI#F/F_im7$$\"+(zADM#F/F_im7$$\"+\"eM AQ#F/F_im7$$\"+VF@\"HF/F_im7$$\"+UG=_HF/F_im7$ $\"+d;A()HF/F_im7$$\"+PX1DIF/F_im7$$\"+N*fT1$F/F_im7$$\"+arS-JF/F_im7$ $\"+0LTRJF/F_im7$$\"+FB]!=$F/F_im7$$\"+TEU-c$F/F_i m7$$\"+b(>')f$F/F_im7$$\"+&e0Rj$F/F_im7$$\"+GrMuOF/F_im7$$\"+F&=0r$F/F _im7$$\"+\"y%3\\PF/F_im7$$\"+3w*fy$F/F_im7$FfvF_imFifl-Fgp6$7$\"#NFi_m %\"tG-Fgp6$7$\"#GFh_mFj_m-Fgp6$7$\"#IFa`m%5Evoluci|^zn~del~Paso~hG-%*A XESSTYLEG6#%%NONEG" 1 2 0 1 0 2 9 1 1 2 1.000000 45.000000 45.000000 0 }}}}{PARA 0 "" 0 "" {TEXT -1 3 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 1 " " }{TEXT 262 69 "Ventajas de los m\351todos impl\355ci tos: estrategia de Predictor-Corrector" }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 0 "" 0 "" {TEXT -1 115 " El interes de usar m\351todos impl \355citos nos lleva a la cuesti\363n de tener que resolver ecuaciones \+ iterativamente para" }}{PARA 0 "" 0 "" {TEXT -1 115 "hallar el siguien te y_n. Una estrategia muy com\372n consiste en usar un m\351todo expl \355cito (predictor) para hallar una " }}{PARA 0 "" 0 "" {TEXT -1 95 " buena hipotesis inicial que luego se refina iterativamente con el m \351todo expl\355cito (corrector)." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 97 "Vamos a programar un predictor-corrector \+ (PC ) muy sencillo. Para ello usaremos un Euler de orden" }}{PARA 0 " " 0 "" {TEXT -1 42 "dos (expl\355cito de un paso) como predictor:" }} {PARA 0 "" 0 "" {TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 54 " \+ PREDICTOR: " }{XPPEDIT 18 0 "y[n+1] = y[n];" "6#/&%\"yG6#,&%\"nG\"\"\"\"\"\"F)&F%6#F(" }{TEXT -1 6 " + \+ " }{XPPEDIT 18 0 "h*f(x[n],y[n]);" "6#*&%\"hG\"\"\"-%\"fG6$&%\"xG6#% \"nG&%\"yG6#F,F%" }{TEXT -1 3 " ." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 64 "y el metodo del trapecio (impl\355cito d e un paso) como corrector:" }}{PARA 0 "" 0 "" {TEXT -1 51 " \+ CORRECTOR: " }{XPPEDIT 18 0 "y[n+1] = y[n ];" "6#/&%\"yG6#,&%\"nG\"\"\"\"\"\"F)&F%6#F(" }{TEXT -1 6 " + " } {XPPEDIT 18 0 "h*(f(x[n],y[n])+f(x[n+1],y[n+1]))/2;" "6#*(%\"hG\"\"\", &-%\"fG6$&%\"xG6#%\"nG&%\"yG6#F-F%-F(6$&F+6#,&F-F%\"\"\"F%&F/6#,&F-F% \"\"\"F%F%F%\"\"#!\"\"" }}{PARA 0 "" 0 "" {TEXT -1 3 " " }}{PARA 0 " " 0 "" {TEXT -1 59 "Al ser impl\355cito el m\351todo corrector tendrem os que hallar " }{XPPEDIT 18 0 "y[n+1]" "6#&%\"yG6#,&%\"nG\"\"\"\"\" \"F(" }{TEXT -1 46 " a base de aplicar reiteradamente la f\363rmula " }}{PARA 0 "" 0 "" {TEXT -1 39 "anterior a una hip\363tesis inicial p ara " }{XPPEDIT 18 0 "y[n+1]" "6#&%\"yG6#,&%\"nG\"\"\"\"\"\"F(" } {TEXT -1 34 " (la obtenida por el predictor) ." }}{PARA 0 "" 0 "" {TEXT -1 32 " " }}{PARA 0 "" 0 "" {TEXT -1 111 "Hay que notar que un m\351todo PC nunca ser\341 mejor qu e el corrector (a fin de cuentas es el que estamos aplicando " }} {PARA 0 "" 0 "" {TEXT -1 110 "al final). T\355picamente ser\341 peor, \+ puesto que si no hacemos infinitas iteraciones no llegaremos a calcula r el " }{XPPEDIT 18 0 "y[n+1]" "6#&%\"yG6#,&%\"nG\"\"\"\"\"\"F(" } {TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 7 "exacto." }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 74 "Estudiaremos la actuaci \363n del m\351todo PC sobre nuestar ecuaci\363n de siempre:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "# \+ Nuestra conocida ecuaci\363n." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "de riv := proc (x,y) RETURN(1/(1+x*x) -2*y*y ); end:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "ok:=proc(t) \+ RETURN (t/(1+t*t)); end:" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 112 "Aqui definimos nuestro m\351todo predictor cor rector de paso fijo h, usando un Runge_kutta de orden 2 para predecir " }}{PARA 0 "" 0 "" {TEXT -1 111 "y el m\351todo del trapecio impl\355 cito (tambi\351n de orden 2) para corregir. Adem\341s de los par\341me tros habituales hay " }}{PARA 0 "" 0 "" {TEXT -1 11 "dos nuevos:" }} {PARA 0 "" 0 "" {TEXT -1 53 " - ITMAX, maximo n\372mero de iteracione s del corrector" }}{PARA 0 "" 0 "" {TEXT -1 123 " - DELTA, criterio p ara parar la iteraci\363n. Si iteraciones sucesivas se diferencian men os que delta se detiene el proceso." }}{PARA 0 "" 0 "" {TEXT -1 0 "" } }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 67 "# Predictor corrector usando RK2 (explicito) y Trap ecio (implicito)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 42 "pred_corr:= proc(t0,tf,yini,h,itmax,delta)" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "local tl,t,k,N,sol,y,pred,corr,next ,j,dif,yp,m1,m2;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 22 "N:=round((tf-t0)/h)+1;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "tl:=[seq(t0+k*h,k=0..N-1)];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "t:=array(tl);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "yp:=array(1..N); yp[1]:=yini;" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "y:=array(1..N); y[1]:=yini;" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "printf(\"\\n\");" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "for k from \+ 1 to N-1 do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 41 "#Prediccion con Euler (la guardo en yp[])" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "#pred:=y[k] + h * deriv(t[k],y[k]);" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "#Prediccion con RK2" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 63 "#pred:=y[k] + h * deriv(t[k]+h/2, y[k]+h/2*de riv(t[k],y[k]) );" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 31 "#Prediccion con RK2 (version 2)" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 24 " m1:=deriv(t[k],y[k]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 " m2:=deriv(t[k]+h,y[k]+h*m1):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 " pred:=y[k] + h*(m1+m2)/2.0;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 17 " yp[k+1]:=pre d;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 75 " printf(\"t=%4.1f OK%7.4f \+ PRED %7.4f -> CORR: \",t[k+1],ok(t[k+1]),pred);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "#Correccion con trapecio " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 " corr:=pred; dif :=0.1; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 45 " for j from 1 to itmax while dif > delta do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 67 " next: = y[k] + 0.5*h*(deriv(t[k],y[k]) + deriv(t[k+1],corr) ); " }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 25 " dif:=abs(corr-next);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 " corr:=next;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 " printf(\"%7.4f\",corr); " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 6 " od;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 " printf(\"\\n\"); " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 " y[k+1]:=corr;" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 3 "od;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 66 "sol:=array(1..3,1..N,[tl,[seq(yp[k],k=1..N)],[seq(y[k],k=1..N)]]); " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "#printf(\"N = %d\\n\",N);" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "RETURN(sol);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "end:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 113 "Corramos el m\351todo. El listado subsiguiente detalla las operaciones por pa sos. Tras PRED mostramos el valor de" }}{PARA 0 "" 0 "" {TEXT -1 115 "partida suministrado por Euler. Tras CORR se muestran las sucesiv as iteraciones del corrector. El corrector se para" }}{PARA 0 "" 0 "" {TEXT -1 85 "tras ITMAX iteraciones o cuando la diferencia entre iter aciones es menor que MAXDIF:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "t0:=0.0: y0:=ok(t0): tf:=8.0 : h:=0.5:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "itmax:=10: maxdif:=1e- 3:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "a:=pred_corr(t0,tf,y0,h,itmax ,maxdif):" }}{PARA 6 "" 1 "" {TEXT -1 0 "" }}{PARA 6 "" 1 "" {TEXT -1 83 "t= .5 OK .4000 PRED .3250 -> CORR: .3972 .3711 .3811 .3 774 .3788 .3783" }}{PARA 6 "" 1 "" {TEXT -1 97 "t= 1.0 OK .5000 P RED .4300 -> CORR: .5393 .4863 .5135 .4999 .5068 .5033 .5051 .5042" }}{PARA 6 "" 1 "" {TEXT -1 83 "t= 1.5 OK .4615 PRED .454 0 -> CORR: .4759 .4657 .4705 .4683 .4694 .4689" }}{PARA 6 "" 1 "" {TEXT -1 48 "t= 2.0 OK .4000 PRED .4047 -> CORR: .4040" }} {PARA 6 "" 1 "" {TEXT -1 55 "t= 2.5 OK .3448 PRED .3488 -> CORR: \+ .3460 .3470" }}{PARA 6 "" 1 "" {TEXT -1 55 "t= 3.0 OK .3000 PRED .3026 -> CORR: .3005 .3011" }}{PARA 6 "" 1 "" {TEXT -1 55 "t= 3. 5 OK .2642 PRED .2657 -> CORR: .2643 .2647" }}{PARA 6 "" 1 "" {TEXT -1 48 "t= 4.0 OK .2353 PRED .2363 -> CORR: .2353" }} {PARA 6 "" 1 "" {TEXT -1 48 "t= 4.5 OK .2118 PRED .2122 -> CORR: \+ .2116" }}{PARA 6 "" 1 "" {TEXT -1 48 "t= 5.0 OK .1923 PRED .192 5 -> CORR: .1921" }}{PARA 6 "" 1 "" {TEXT -1 48 "t= 5.5 OK .1760 \+ PRED .1760 -> CORR: .1757" }}{PARA 6 "" 1 "" {TEXT -1 48 "t= 6.0 O K .1622 PRED .1621 -> CORR: .1619" }}{PARA 6 "" 1 "" {TEXT -1 48 "t= 6.5 OK .1503 PRED .1502 -> CORR: .1501" }}{PARA 6 "" 1 " " {TEXT -1 48 "t= 7.0 OK .1400 PRED .1399 -> CORR: .1398" }} {PARA 6 "" 1 "" {TEXT -1 48 "t= 7.5 OK .1310 PRED .1309 -> CORR: \+ .1308" }}{PARA 6 "" 1 "" {TEXT -1 48 "t= 8.0 OK .1231 PRED .123 0 -> CORR: .1229" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{MPLTEXT 1 0 0 "" }{TEXT -1 0 "" }{MPLTEXT 1 0 0 "" }{TEXT -1 109 "Se observa que en la zona mala (alrededor del \+ 1.0) el corrector curra mas (logico pues las predicciones ser\341n" }} {PARA 0 "" 0 "" {TEXT -1 111 "peores y necesitaremos m\341s iteracione s para corregirlas). Vuelve a haber una zona algo m\341s complicada al rededor" }}{PARA 0 "" 0 "" {TEXT -1 115 "de t=3 (cambio de pendiente) \+ y a partir de ah\355 las cosas son cada vez m\341s f\341ciles. De hech o en la zona facil, donde" }}{PARA 0 "" 0 "" {TEXT -1 101 "no hay vent ajas en el uso de un impl\355cito, los resultados de la predicci\363n \+ y la correci\363n coinciden. " }}{PARA 0 "" 0 "" {TEXT -1 142 "De hech o podr\355amos pensar en un esquema adaptativo que usase el numero de \+ iteraciones que ha necesitado el corrector para actualizar el paso. " }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{MPLTEXT 1 0 0 "" }{TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 113 "Pintemos los resultados. A la izquierda \+ mostramos los resultados de correr un RK de orden dos (el predictor) p or " }}{PARA 0 "" 0 "" {TEXT -1 109 "su cuenta. Claramente para el pas o escogido hay problemas en la zona alrededor del 1. A la derecha most ramos " }}{PARA 0 "" 0 "" {TEXT -1 119 "los resultados del predictor-c orrector: en verde la soluci\363n real, los puntos azules corresponden a la ultima iteraci\363n" }}{PARA 0 "" 0 "" {TEXT -1 114 "del correct or (valor definitivo de nuestra soluci\363n) y los puntos rojos corres ponden a las predicciones efectuadas" }}{PARA 0 "" 0 "" {TEXT -1 40 "p or el RK2 sobre los puntos anteriores: " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "rk2_solo:=diffnum(ecu,t 0,tf,y0,h,rk2):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 81 "g1:=plot([ok(t), graf(rk2_solo,2)],t=t0..tf,style=[line,point],color=[green,red]):" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 95 "g2:=plot([ok(t),graf(a,2),graf(a,3) ],t=t0..tf,style=[line,point,point],color=[green,red,blue]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "display(array(1..2,[g1,g2]));" }}{PARA 6 "" 1 "" {TEXT -1 21 "N pasos en diffnum 16" }}{PARA 13 "" 1 "" {GLPLOT2D 820 373 373 {PLOTDATA 2 "6D-%'CURVESG6&7$7$!#5\"#57$F(F(7$F* 7$F)F(7$7$\"#?F)7$F/F(7$F07$\"#SF(-F$6,7$7$F($!$v*!\"#7$F($!%D5F:7$7$$ !+++++]!\"*F87$F@F<7$7$\"\"!F87$FFF<7$7$$\"*++++&!\")F87$FJF<7$7$$\"++ +++5FLF87$FPF<7$7$F8F(7$F FB7$FF:F(7$7$Fg t$!+%4JJ.'FB7$FjtF^u7$7$Fgt$!+)=ii1#FB7$FjtFcu7$7$Fgt$\"*s11!>FL7$FjtF hu7$7$Fgt$\"*ivu'eFL7$FjtF]v7$7$Fgt$\"*`WV$)*FL7$FjtFbv-Feo6%7$FjtF)**FL7$$!+p8ravFB$\"*yZ^***FL7$$!+/R=0vFBFP7$$!+i#=ES (FB$\"*Y\\a)**FL7$$!+?E0+tFB$\"*g))4%**FL7$$!+!)p[(>(FB$\"*2t-()*FL7$$ !+P8#\\4(FB$\"*yKmx*FL7$$!+qUx#)oFB$\"*A^G_*FL7$$!+0siqmFB$\"*F@k?*FL7 $$!+(y$pZiFB$\"*J5sX)FL7$$!+#yaE\"eFB$\"*$['eg(FL7$$!+#>s%HaFB$\"*hm2% oFL7$$!+]$*4)*\\FB$\"*e&Q'*fFL7$$!+]_&\\c%FB$\"*G'3'=&FL7$$!+]1aZTFB$ \"*>\"4]WFL7$$!+0#)[oPFB$\"*$esAQFL7$$!+#=exJ$FB$\"*=(fFJFL7$$!+K2$f$H FB$\"*S(\\!e#FL7$$!+PYx\"\\#FB$\"*:0&*)>FL7$$!+K7i)4#FB$\"*#RN/:FL7$$! +P'psm\"FB$\"*5j)45FL7$$!+74_c7FB$\").]FdFL7$$!*2x%z#)FB$\")wI([\"FL7$ $!*?PQM%FB$!*5QG9#FB7$$!(#zr)*FB$!*p.,!eFB7$$\")!o2J%FL$!*36+M*FB7$$\" )%Q#\\\")FL$!+@*HDA\"FB7$$\"*;*[H7FL$!+?G^JFB7$$\"*&)Hxe%FL$!+b))\\SLFB7$$\"*.o-*\\FL$!+Ci^4NFB7$$\"*TO5T&F L$!+H5^xOFB7$$\"*U9C#eFL$!+#=zP$QFB7$$\"*1*3`iFL$!+(4;&*)RFB7$$\"*$*zy m'FL$!+P]UKTFB7$$\"*^j?4(FL$!+yh'=F%FB7$$\"*jMF^(FL$!+at*QS%FB7$$\"*q( G**yFL$!+3[2?XFB7$$\"*9@BM)FL$!+>raZYFB7$$\"*`v&Q()FL$!+I4tcZFB7$$\"*O l5;*FL$!+ZzUo[FB7$$\"*/Uac*FL$!+kK/r\\FB7$FP$!+sC\"p2&FB-%'COLOURG6&%$ RGBGFF$\"*++++\"FLFF-%&STYLEG6#%%LINEG-F$6%73F[z7$$!++++]()FB$\"*+G++$ FL7$$!+++++vFB$\"*7F]@'FL7$$!++++]iFB$\"*d]G='FL7$F@$\"*xV)p[FL7$$!+++ +]PFB$\"*fP,E$FL7$$!+++++DFB$\"*S'*Gv\"FL7$$!++++]7FB$\")Ge\\XFL7$FF$! *dFsL'FB7$$\"*+++D\"FL$!+\"*[#Ha\"FB7$$\"*+++]#FL$!+'e#o0BFB7$$\"*+++v $FL$!+W%32&HFB7$FJ$!+\"oN6]$FB7$$\"*+++D'FL$!+A87vRFB7$$\"*+++](FL$!+p b#oQ%FB7$$\"*+++v)FL$!+%H=tu%FB7$FP$!+v)4`1&FB-F__m6&Fa_mFb_mFFFF-Fe_m 6#%&POINTG-Feo6$7$\"\"&!\"\"%\"tG-Feo6$7$F:F[em%!G-F$6%7ao7$$\"+++++?F LF\\z7$$\"+x&)*3,#FL$!+J7&RF)FB7$$\"+arz@?FL$!+JdVnlFB7$$\"+JdpK?FL$!+ 3oD**[FB7$$\"+3VfV?FL$!+/W\"oG$FB7$$\"+-r2`?FL$!+x2DT>FB7$$\"+'*)fD1#F L$!*u'*He'FB7$$\"+*oU?2#FL$\")wb[bFL7$$\"+$[D:3#FL$\"*h9Ep\"FL7$$\"+w) *=#4#FL$\"*BGr(GFL7$$\"+pU&G5#FL$\"*f>y&RFL7$$\"+j'=N6#FL$\"*V+N$\\FL7 $$\"+cI=C@FL$\"*_b\\!eFL7$$\"+BKlX@FL$\"*\")>YD(FL7$$\"+\"RBr;#FL$\"*' y%yK)FL7$$\"+9:\\)=#FL$\"*\"e')o!*FL7$$\"+Q'f)4AFL$\"*^%QM&*FL7$$\"+J^ w>AFL$\"*'ypq'*FL7$$\"+C1nHAFL$\"*@=Kw*FL7$$\"+qLiMAFL$\"*)*[Wz*FL7$$ \"+)*FL7$$\"+QZ**pAFL$\"*Kzdx*FL7$$\"+-8D!G #FL$\"*l\\cq*FL7$$\"+my]!H#FL$\"*<&y7'*FL7$$\"+tDs6BFL$\"*;16O*FL7$$\" +!GPHL#FL$\"*\"yHZ!*FL7$$\"+@1BvBFL$\"**RH/$)FL7$$\"+AXt=CFL$\"*$=+guF L7$$\"+\"y_qX#FL$\"*QU7q'FL7$$\"+l+>+DFL$\"*(p&Q'eFL7$$\"+vW]VDFL$\"*$ 4Fg]FL7$$\"+NfC&e#FL$\"*\\t.L%FL7$$\"+!=^Ji#FL$\"*!e?3PFL7$$\"+#=C#oEF L$\"*AO)=IFL7$$\"+FpS1FFL$\"*7piZ#FL7$$\"+OD#3v#FL$\"*>t,*=FL7$$\"+xy8 !z#FL$\"*QT!49FL7$$\"+OIFLGFL$\")QZ'=*FL7$$\"+4zMuGFL$\")vb^[FL7$$\"+H _?Sr-$FB7$$\"+S<*fT$FL$!+aH-3KFB7$$\"+&)HxeMFL$!+@An&R$FB7$$\"+.o-*\\ $FL$!+&H*GjNFB7$$\"+TO5TNFL$!+zA*)HPFB7$$\"+U9C#e$FL$!+kd'[)QFB7$$\"+1 *3`i$FL$!+9CJRSFB7$$\"+$*zymOFL$!+mt.\"=%FB7$$\"+^j?4PFL$!+\\KK>VFB7$$ \"+jMF^PFL$!+f0E]WFB7$$\"+q(G**y$FL$!+$\\vac%FB7$$\"+9@BMQFL$!+2<*=p%F B7$$\"+`v&Q(QFL$!+T4<+[FB7$$\"+Ol5;RFL$!+dD%4\"\\FB7$$\"+/UacRFL$!+;xq 7]FB7$Fbt$!+2)*p<^FBF^_mFd_m-F$6%73Feem7$$\"++++D@FL$\"*%RK#*GFL7$$\"+ +++]AFL$\"*d0s0(FL7$$\"++++vBFL$\"*vB+,)FL7$Fds$\"*Y#RagFL7$$\"++++DEF L$\"*INh$QFL7$$\"++++]FFL$\"*jgN+#FL7$$\"++++vGFL$\")`i9aFL7$$\"+++++I FL$!*zQ=G'FB7$$\"++++DJFL$!+%=h@e\"FB7$$\"++++]KFL$!+\\9fkBFB7$$\"++++ vLFL$!+uJ+%\\+&FL7$Fc[oFP7$Fh[o$\"*JR*)f)FL7$Fds$\"*Z))\\-'FL7$F`\\o$\"* \"fgkPFL7$Fe\\o$\"*^1_%>FL7$Fj\\o$\")Z#*3]FL7$F_]o$!*2h?k'FB7$Fd]o$!+# oieg\"FB7$Fi]o$!+awp!Q#FB7$F^^o$!+D,FGIFB7$F]t$!+:O&od$FB7$Ff^o$!+'>&4 ZSFB7$F[_o$!+ePPaWFB7$F`_o$!+;;N5[FB7$Fbt$!+Gs,C^FB-F__m6&Fa_mFFFFFb_m Fedm-Feo6$7$\"#NF\\emF]em-Feo6$7$\"#GF[emFaem-%*AXESSTYLEG6#%%NONEG" 1 2 0 1 0 2 9 1 1 2 1.000000 45.000000 45.000000 0 }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 111 "Claramente el m\351todo impl\355cito muestra u na clara superioridad sobre el expl\355cito a igualdad de orden (ambos son" }}{PARA 0 "" 0 "" {TEXT -1 114 "de orden 2). Adem\341s, nuestra \+ estrategia de predictor/corrector nos permite reducir el n\372mero de \+ iteraciones para " }}{PARA 0 "" 0 "" {TEXT -1 44 "estimar el valor fi nal del m\351todo impl\355cito." }}{PARA 0 "" 0 "" {TEXT -1 112 "\277 \+ Que sucede si tomamos h=0.2? \277Y si bajamos a h=0.1? Lo que est\341 \+ ocurriendo es lo que vimos en clase sobre que " }}{PARA 0 "" 0 "" {TEXT -1 114 "para si podemos permitirnos un h suficientemente peque \361a desaparece la ventaja de los impl\355citos. Para esos h muy " }} {PARA 0 "" 0 "" {TEXT -1 89 "peque\361os solo cuenta el orden del meto do y en este caso ambos son equivalentes (orden 2)." }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 1 " " }}}{MARK "22" 0 } {VIEWOPTS 1 1 0 1 1 1803 }