{"id":2256,"date":"2018-08-29T06:13:48","date_gmt":"2018-08-29T11:13:48","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/matg1013\/?p=2256"},"modified":"2026-04-05T20:14:59","modified_gmt":"2026-04-06T01:14:59","slug":"s2eva2018ti_t1-paracaidista-wingsuit","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-s2eva20\/s2eva2018ti_t1-paracaidista-wingsuit\/","title":{"rendered":"s2Eva2018TI_T1 EDO Paracaidista wingsuit"},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-2eva20\/2eva2018ti_t1-paracaidista-wingsuit\/\" data-type=\"post\" data-id=\"2250\">2Eva2018TI_T1 EDO Paracaidista wingsuit<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p>Plantear con: <\/p>\n\n\n\n<p>[ <a href=\"\/algoritmos101\/#RK2_d2y\">Runge-Kutta<\/a> para <strong>f<code>''<\/code><\/strong>(x) ]<\/p>\n\n\n\n<p>[ <a href=\"\/algoritmos101\/#RK2_d1y\">Runge-Kutta<\/a> para <strong>f'<\/strong>(x) ]<\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"RK2_d2y\">a. Planteamiento con Runge-Kutta 2do Orden para Segunda derivada<\/h2>\n\n\n\n<p>La expresi\u00f3n:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\frac{dv}{dt} = g - \\frac{cd}{m} v^2 <\/span>\n\n\n\n<p>se puede plantear sustituir la variable con <span class=\"wp-katex-eq\" data-display=\"false\"> v = -\\frac{dy}{dt} <\/span> al considerar el sentido contrario entre la velocidad al caer y la referencia de altura hacia arriba. Ver figura.<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\frac{d^2y}{dt^2} = g - \\frac{cd}{m} \\Big( \\frac{dy}{dt} \\Big) ^2 <\/span>\n\n\n\n<figure class=\"wp-block-image alignright size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"470\" height=\"160\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/09\/wingsuitdiagrama01.png\" alt=\"Paracaidista Wingsuit Diagrama Cuerpo libre\" class=\"wp-image-13828\" \/><\/figure>\n\n\n\n<p>Que es una EDO de 2do orden o como 2da derivada.<\/p>\n\n\n\n<p>La soluci\u00f3n se propone resolver de forma simultanea para t,y,v con <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-unidades\/mn-u06\/runge-kutta-d2y-dx2\/\" data-type=\"post\" data-id=\"1989\">Runge-Kutta para segunda derivada<\/a> donde:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(t,y,v) = -v <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> g(t,y,v) = g - \\frac{cd}{m} v^2 <\/span>\n\n\n\n<p>Al sustituir los valores de las constantes en la ecuaci\u00f3n como gravedad, masa e \u00edndice de arrastre se tiene:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(t,y,v) = -v <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> g(t,y,v) = 9.8 - \\frac{0.225}{90} v^2 <\/span>\n\n\n\n<p>con las condiciones iniciales del ejercicio&nbsp; t<sub>0<\/sub> = 0 , y<sub>0<\/sub> = 1000, v<sub>0<\/sub> = 0<br>la velocidad se inicia con cero, si el paracaidista se deja caer desde el borde el risco, como en el video adjunto al enunciado.<\/p>\n\n\n\n<p>Para las iteraciones, recuerde que<br>t se corrige con t+h (en el algoritmo era la posici\u00f3n para x)<br>y se corrige con y+K1y<br>v se corrige con v+K1v (en el algoritmo era la posici\u00f3n para z)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">itera = 0<\/h3>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K1y = h f(t,y,v) = 2(-(0)) = 0 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K1v = h g(t,y,v) = 2(9.8 - \\frac{0.225}{90} (0)^2) = 19.6<\/span>\n\n\n\n<p>..<br><span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K2y = h f(t+h, y+K1y, v + K1v) = 2(-(0 + 19.6)) = -39.2 <\/span><\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K2v = h g(t+h, y+K1y, v + K1v) = 2(9.8 - \\frac{0.225}{90} (0+19.6)^2) =17.6792 <\/span>\n\n\n\n<p>..<br><span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y_1 = y_0 + \\frac{K1y+K2y}{2} = 1000 + \\frac{0-39.2}{2}= 980.4 <\/span><\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> v_1 = v_0 + \\frac{K1v+K2v}{2} = 0 + \\frac{19.6-17.67}{2} = 18.63 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> t_1 =t_0 + h = 0+2 = 2 <\/span>\n\n\n\n<figure class=\"wp-block-table alignwide\"><table><thead><tr><th>ti<\/th><th>yi<\/th><th>vi<\/th><th>K1y<\/th><th>K1v<\/th><th>K2y<\/th><th>K2v<\/th><\/tr><\/thead><tbody><tr><td>0<\/td><td>1000<\/td><td>0<\/td><td>0<\/td><td>0<\/td><td>0<\/td><td>0<\/td><\/tr><tr><td>2<\/td><td>980.4<\/td><td>18.63<\/td><td>0<\/td><td>19.6<\/td><td>-39.2<\/td><td>17.6792<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">itera = 1<\/h3>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K1y = 2(-(18.63)) = -37.2792 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K1v = 2(9.8 - \\frac{0.225}{90} (18.63)^2) = 17.8628 <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K2y =2(-(18.6396+17.8628)) =-73.00 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K2v = 2(9.8 - \\frac{0.225}{90} (18.6396+17.8628)^2) =12.9378 <\/span>\n\n\n\n<p>..<br><span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y_2 =980.4 + \\frac{ -37.2792+(-73.00)}{2}= 925.25 <\/span><\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> v_2 = 18.63 + \\frac{17.8628+12.9378}{2} = 34.0399 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> t_2 =t_1 + h = 2+2 = 4 <\/span>\n\n\n\n<figure class=\"wp-block-table alignwide\"><table><thead><tr><th>ti<\/th><th>yi<\/th><th>vi<\/th><th>K1y<\/th><th>K1v<\/th><th>K2y<\/th><th>K2v<\/th><\/tr><\/thead><tbody><tr><td>0<\/td><td>1000<\/td><td>0<\/td><td>0<\/td><td>0<\/td><td>0<\/td><td>0<\/td><\/tr><tr><td>2<\/td><td>980.4<\/td><td>18.63<\/td><td>0<\/td><td>19.6<\/td><td>-39.2<\/td><td>17.6792<\/td><\/tr><tr><td>4<\/td><td>925.25<\/td><td>34.0399<\/td><td>-37.2792<\/td><td>17.8628<\/td><td>-73.00<\/td><td>12.9378<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">itera = 2<\/h3>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K1y = h f(t,y,v) = 2(-(34.0399)) = -68.0798 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K1v = h g(t,y,v) = 2(9.8 - \\frac{0.225}{90} (34.0399)^2) = 13.8064 <\/span>\n\n\n\n<p>..<br><span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K2y = h f(t+h, y+K1y, v + K1v) = 2(-(34.0399+13.8064)) =-95.6927 <\/span><\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K2v = h g(t+h, y+K1y, v + K1v) = 2(9.8 - \\frac{0.225}{90} (34.0399+13.8064)^2) =8.1536 <\/span>\n\n\n\n<p>..<br><span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y_2 = 925.25 + \\frac{ -68.0798+(-95.6927)}{2}= 843.3716 <\/span><\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> v_2 = 34.0399 + \\frac{13.8064+8.1536}{2} = 45.0199 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> t_2 =t_1 + h = 4+2 = 6 <\/span>\n\n\n\n<figure class=\"wp-block-table alignwide\"><table><thead><tr><th>ti<\/th><th>yi<\/th><th>vi<\/th><th>K1y<\/th><th>K1v<\/th><th>K2y<\/th><th>K2v<\/th><\/tr><\/thead><tbody><tr><td>0<\/td><td>1000<\/td><td>0<\/td><td>0<\/td><td>0<\/td><td>0<\/td><td>0<\/td><\/tr><tr><td>2<\/td><td>980.4<\/td><td>18.63<\/td><td>0<\/td><td>19.6<\/td><td>-39.2<\/td><td>17.6792<\/td><\/tr><tr><td>4<\/td><td>925.25<\/td><td>34.0399<\/td><td>-37.2792<\/td><td>17.8628<\/td><td>-73.00<\/td><td>12.9378<\/td><\/tr><tr><td>6<\/td><td>843.3716<\/td><td>45.0199<\/td><td>-68.0798<\/td><td>13.8064<\/td><td>-95.6927<\/td><td>8.1536<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Algoritmo con Python<\/h3>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/09\/paracaidistawingsuit02.png\" alt=\"paracaidista wingsuit resultado gr\u00e1fica\" class=\"wp-image-13832\" \/><\/figure>\n\n\n\n<p>Resultados: La velocidad m\u00e1xima, si no hubiese l\u00edmite en la altura, se encuentra en alrededor de 62.39 m\/s.<\/p>\n\n\n\n<p>Sin embargo, luego de 20 segundos se observa que la altura alcanza el valor de cero, es decir se alcanz\u00f3 tierra con velocidad de&nbsp; 62 m\/s, que son algo mas de 223 Km\/h, el objeto se estrella...!<\/p>\n\n\n\n<p>Resultados con el algoritmo:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>Runge-Kutta Segunda derivada\ni  &#091; xi,  yi,  zi ]\n   &#091; K1y,  K1z,  K2y,  K2z ]\n0 &#091;   0. 1000.    0.]\n   &#091;0. 0. 0. 0.]\n1 &#091;  2.     980.4     18.6396]\n  &#091;  0.      19.6    -39.2     17.6792]\n2 &#091;  4.       925.257973  34.039945]\n  &#091;-37.2792    17.862827 -73.004853  12.937864]\n3 &#091;  6.       843.371672  45.019966]\n  &#091;-68.079891  13.806411 -95.692712   8.153631]\n4 &#091;  8.       743.865726  52.131168]\n  &#091; -90.039933    9.466013 -108.971959    4.75639 ]\n5 &#091; 10.       633.591684  56.485537]\n  &#091;-104.262336    6.011707 -116.285749    2.697031]\n6 &#091; 12.       516.97369   59.069216]\n  &#091;-112.971073    3.646921 -120.264915    1.520438]\n7 &#091; 14.       396.681119  60.575537]\n  &#091;-118.138432    2.154139 -122.446709    0.858504]\n8 &#091; 16.       274.277023  61.445121]\n  &#091;-121.151075    1.253021 -123.657117    0.486147]\n9 &#091; 18.       150.664295  61.944336]\n  &#091;-122.890243    0.722485 -124.335213    0.275943]\n10 &#091;20.       26.361127 62.230024]\n   &#091;-123.888671    0.414496 -124.717664    0.15688 ]\n11 &#091; 22.       -98.336041  62.393224]\n   &#091;-1.244600e+02  2.371205e-01 -1.249343e+02  8.927924e-02]\n12 &#091;  24.       -223.257917   62.486357]\n   &#091;-1.247864e+02  1.354280e-01 -1.250573e+02  5.083841e-02]\n13 &#091;  26.       -348.307907   62.539475]\n   &#091;-1.249727e+02  7.727584e-02 -1.251273e+02  2.895913e-02]\n14 &#091;  28.       -473.430927   62.56976 ]\n   &#091;-1.250789e+02  4.407055e-02 -1.251671e+02  1.649935e-02]\n15 &#091;  30.       -598.595572   62.587023]\n   &#091;-1.251395e+02  2.512592e-02 -1.251898e+02  9.401535e-03]\n16 &#091;  32.       -723.783942   62.596863]\n   &#091;-1.251740e+02  1.432256e-02 -1.252027e+02  5.357469e-03]\n&gt;&gt;&gt; <\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Instrucciones en Python<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# 2Eva_IT2018_T1 Paracaidista wingsuit\nimport numpy as np\nimport matplotlib.pyplot as plt\n\ndef rungekutta2_fg(f,g,x0,y0,z0,h,muestras,\n                   vertabla=False, precision = 6):\n    ''' solucion a EDO con Runge-Kutta 2do Orden Segunda derivada,\n        x0,y0 son valores iniciales, h es tamano de paso,\n        muestras es la cantidad de puntos a calcular.\n    '''\n    tamano = muestras + 1\n    tabla = np.zeros(shape=(tamano,3+4),dtype=float)\n\n    # incluye el punto &#x5B;x0,y0,z0]\n    tabla&#x5B;0] = &#x5B;x0,y0,z0,0,0,0,0]\n    xi = x0\n    yi = y0\n    zi = z0\n    i=0\n    if vertabla==True:\n        print('Runge-Kutta Segunda derivada')\n        print('i ','&#x5B; xi,  yi,  zi',']')\n        print('   &#x5B; K1y,  K1z,  K2y,  K2z ]')\n        np.set_printoptions(precision)\n        print(i,tabla&#x5B;i,0:3])\n        print('  ',tabla&#x5B;i,3:])\n    for i in range(1,tamano,1):\n        K1y = h * f(xi,yi,zi)\n        K1z = h * g(xi,yi,zi)\n        \n        K2y = h * f(xi+h, yi + K1y, zi + K1z)\n        K2z = h * g(xi+h, yi + K1y, zi + K1z)\n\n        yi = yi + (K1y+K2y)\/2\n        zi = zi + (K1z+K2z)\/2\n        xi = xi + h\n        \n        tabla&#x5B;i] = &#x5B;xi,yi,zi,K1y,K1z,K2y,K2z]\n        if vertabla==True:\n            txt = ' '\n            if i&gt;=10:\n                txt='  '\n            print(str(i)+'',tabla&#x5B;i,0:3])\n            print(txt,tabla&#x5B;i,3:])\n    return(tabla)\n\n\n# PROGRAMA PRUEBA\n# INGRESO\nf = lambda t,y,v: -v # el signo, revisar diagrama cuerpo libre\ng = lambda t,y,v: 9.8 - (0.225\/90)*(v**2)\nt0 = 0\ny0 = 1000\nv0 = 0\nh  = 2\nmuestras = 15+1\n\n# PROCEDIMIENTO\ntabla = rungekutta2_fg(f,g,t0,y0,v0,h,muestras, vertabla=True)\nti = tabla&#x5B;:,0]\nyi = tabla&#x5B;:,1]\nvi = tabla&#x5B;:,2]\n\n# SALIDA\n# print('tabla de resultados')\n# print(tabla)\n\n# GRAFICA\nplt.subplot(211)\nplt.plot(ti,vi,label='velocidad v(t)', color='green')\nplt.plot(ti,vi,'o')\nplt.ylabel('velocidad (m\/s)')\nplt.title('paracaidista Wingsuit con Runge-Kutta')\nplt.legend()\nplt.grid()\n\nplt.subplot(212)\nplt.plot(ti,yi,label='Altura y(t)',)\nplt.plot(ti,yi,'o',)\nplt.axhline(0, color='red')\nplt.xlabel('tiempo (s)')\nplt.ylabel('Altura (m)')\nplt.legend()\nplt.grid()\n\nplt.show()\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p>Plantear con: <\/p>\n\n\n\n<p>[ <a href=\"\/algoritmos101\/#RK2_d2y\">Runge-Kutta<\/a> para <strong>f<code>''<\/code><\/strong>(x) ]<\/p>\n\n\n\n<p>[ <a href=\"\/algoritmos101\/#RK2_d1y\">Runge-Kutta<\/a> para <strong>f'<\/strong>(x) ]<\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"RK2_d1y\">b. Usando Runge-Kutta 2do Orden para Primera Derivada o velocidad,<\/h2>\n\n\n\n<p>El problema para un tiempo de observaci\u00f3n t&gt;0, se puede dividir en dos partes: velocidad y altura.<\/p>\n\n\n\n<figure class=\"wp-block-image alignright size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"470\" height=\"160\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/09\/wingsuitdiagrama01.png\" alt=\"Paracaidista Wingsuit Diagrama Cuerpo libre\" class=\"wp-image-13828\" \/><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Determinar <strong>velocidad<\/strong>: Se aplica Runge-Kutta a la expresi\u00f3n con primera derivada o velocidad. Use&nbsp; los valores iniciales dados, descarte calcular las alturas.<\/li>\n\n\n\n<li>Determinar las <strong>altura<\/strong>:&nbsp; Con los valores de velocidades y la altura inicial de 1 km = 1000 m puede integrar con trapecio para obtener la tabla de alturas. Se integra tramo a tramo.<\/li>\n<\/ol>\n\n\n\n<p>Observe las unidades de medida y que la&nbsp; velocidad es contraria&nbsp; al eje de altura dy\/dt = -v.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"EDO con Runge-Kutta 2do Orden con Python. Ejercicio[ Paracaidista con Wingsuit\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/c1_vQRhl8Rg?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>La expresi\u00f3n:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\frac{dv}{dt} = g - \\frac{cd}{m} v^2 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(t,v) = g - \\frac{cd}{m} v^2 <\/span>\n\n\n\n<h3 class=\"wp-block-heading\">itera = 0<\/h3>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K1v = h f(t,v) = 2(9.8)- \\frac{0.225}{90}(0)^2) = 19.6 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K2v = h f(t+h , v + K1v) = 2( 9.8 - \\frac{0.225}{90}(0+19.6)^2) = 17.6792 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> v_1 = v_0 + \\frac{K1y+K2y}{2} = 0 + \\frac{19.6+17.6792}{2}= 18.6396 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> t_1 =t_0 + h = 0+2 = 2 <\/span>\n\n\n\n<h3 class=\"wp-block-heading\">itera = 1<\/h3>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K1v = 2(9.8 - \\frac{0.225}{90} (18.6396)^2) = 17.8628 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K2v = 2( 9.8 - \\frac{0.225}{90} (18.6396+17.8628)^2) = 12.9379 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> v_1 = 18.6396 + \\frac{17.8628+12.9379}{2}= 34.0399 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> t_1 =2+2 = 4 <\/span>\n\n\n\n<h3 class=\"wp-block-heading\">itera = 2<\/h3>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K1v = 2(9.8 - \\frac{0.225}{90} (34.0399)^2) = 13.8064 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K2v = 2( 9.8 - \\frac{0.225}{90} (34.0399+13.8064)^2) = 8.1536 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> v_1 = 34.0399 + \\frac{13.8064+8.1536}{2}= 45.02 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> t_1 = 4+2 = 6 <\/span>\n\n\n\n<p>las siguientes iteraciones se completan con el algoritmo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Resultados<\/h3>\n\n\n\n<p>La velocidad m\u00e1xima, si no hubiese l\u00edmite en la altura, se encuentra en alrededor de 62.39 m\/s.<\/p>\n\n\n\n<p>Sin embargo, luego de 20 segundos se observa que la altura alcanza el valor de cero, es decir se alcanz\u00f3 tierra con velocidad de&nbsp; 62 m\/s, que son algo mas de 223 Km\/h, el objeto se estrella...!<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/09\/paracaidistawingsuit02.png\" alt=\"paracaidista wingsuit resultado gr\u00e1fica\" class=\"wp-image-13832\" \/><\/figure>\n\n\n\n<p>velocidad con Runge-Kutta primera derivada<\/p>\n\n\n<p>[tiempo, velocidad, K1,K2]<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#091;&#091; 0. 0. 0. 0. ]\n &#091; 2. 18.6396 19.6 17.6792]\n &#091; 4. 34.0399 17.8628 12.9379]\n &#091; 6. 45.02 13.8064 8.1536]\n &#091; 8. 52.1312 9.466 4.7564]\n &#091;10. 56.4855 6.0117 2.697 ]\n &#091;12. 59.0692 3.6469 1.5204]\n &#091;14. 60.5755 2.1541 0.8585]\n &#091;16. 61.4451 1.253 0.4861]\n &#091;18. 61.9443 0.7225 0.2759]\n &#091;20. 62.23 0.4145 0.1569]\n &#091;22. 62.3932 0.2371 0.0893]]<\/code><\/pre>\n\n\n\n<p>velocidad con RK2 y altura con trapecio<\/p>\n\n\n<p>[tiempo, velocidad, altura]<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#091;&#091; 0. 0. 1000. ]\n &#091; 2. 18.64 981.36]\n &#091; 4. 34.04 928.68]\n &#091; 6. 45.02 849.62]\n &#091; 8. 52.13 752.47]\n &#091; 10. 56.49 643.85]\n &#091; 12. 59.07 528.3 ]\n &#091; 14. 60.58 408.65]\n &#091; 16. 61.45 286.63]\n &#091; 18. 61.94 163.24]\n &#091; 20. 62.23 39.07]\n &#091; 22. 62.39 -85.55]]\n &gt;&gt;&gt;<\/code><\/pre>\n\n\n\n<p>Los c\u00e1lculos se realizaron usando las instrucciones en Python:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# 2da Evaluaci\u00f3n I T\u00e9rmino 2018\n# Tema 1. Paracaidista wingsuit\nimport numpy as np\n\ndef rungekutta2(d1y,x0,y0,h,muestras):\n    # Runge Kutta de 2do orden\n    tamano = muestras + 1\n    tabla = np.zeros(shape=(tamano,2+2),dtype=float)\n    \n    # incluye el punto &#x5B;x0,y0]\n    tabla&#x5B;0] = &#x5B;x0,y0,0,0]\n    xi = x0\n    yi = y0\n    for i in range(1,tamano,1):\n        K1 = h * d1y(xi,yi)\n        K2 = h * d1y(xi+h, yi + K1)\n\n        yi = yi + (1\/2)*(K1+K2)\n        xi = xi + h\n        \n        tabla&#x5B;i] = &#x5B;xi,yi,K1,K2]\n    return(tabla)\n\ndef integratrapecio_fi_tabla(xi,fi,y0):\n    tamano = len(xi)\n    yi = np.zeros(tamano,dtype = float)\n    yi&#x5B;0] = y0\n    for i in range(1,tamano,1):\n        h = xi&#x5B;i]-xi&#x5B;i-1]\n        trapecio = h*(fi&#x5B;i]+fi&#x5B;i-1])\/2\n        yi&#x5B;i]= yi&#x5B;i-1] + trapecio\n    return(yi)\n\n# PROGRAMA -------------------------\n\n# INGRESO\ng = 9.8\ncd = 0.225\nm = 90\nd1v = lambda t,v: g - (cd\/m)*(v**2)\n\nt0 = 0\nv0 = 0\nh = 2\ny0 = 1000\nmuestras = 11\n\n# PROCEDIMIENTO\nvelocidad = rungekutta2(d1v,t0,v0,h,muestras)\nti = velocidad&#x5B;:,0]\nvi = velocidad&#x5B;:,1]\n\n# Altura, velocidad es contraria altura,\n# integrar en cada tramo por trapecios o Cuadratura de Gauss\naltura = integratrapecio_fi_tabla(ti,-vi,y0)\n\n# Tabla de resultados de tiempo, velocidad, altura\naltura = np.transpose(&#x5B;altura])\ntabla = np.concatenate((velocidad&#x5B;:,0:2],altura), axis = 1)\n\n# SALIDA\nnp.set_printoptions(precision=4)\nprint('velocidad con Runge-Kutta primera derivada')\nprint(' &#x5B;tiempo, velocidad, K1,K2]')\nprint(velocidad)\nnp.set_printoptions(precision=2)\nprint('velocidad con RK2 y altura con trapecio')\nprint(' &#x5B;tiempo, velocidad, altura]')\nprint(tabla)\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p>Plantear con: <\/p>\n\n\n\n<p>[ <a href=\"\/algoritmos101\/#RK2_d2y\">Runge-Kutta<\/a> para <strong>f<code>''<\/code><\/strong>(x) ]<\/p>\n\n\n\n<p>[ <a href=\"\/algoritmos101\/#RK2_d1y\">Runge-Kutta<\/a> para <strong>f'<\/strong>(x) ]<\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 2Eva2018TI_T1 EDO Paracaidista wingsuit Plantear con: [ Runge-Kutta para f''(x) ] [ Runge-Kutta para f'(x) ] a. Planteamiento con Runge-Kutta 2do Orden para Segunda derivada La expresi\u00f3n: se puede plantear sustituir la variable con al considerar el sentido contrario entre la velocidad al caer y la referencia de altura hacia arriba. Ver figura. Que [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"wp-custom-template-entrada-mn-ejemplo","format":"standard","meta":{"footnotes":""},"categories":[48],"tags":[58,54],"class_list":["post-2256","post","type-post","status-publish","format-standard","hentry","category-mn-s2eva20","tag-ejemplos-python","tag-mnumericos"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/2256","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/users\/8043"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/comments?post=2256"}],"version-history":[{"count":5,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/2256\/revisions"}],"predecessor-version":[{"id":23865,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/2256\/revisions\/23865"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=2256"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=2256"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=2256"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}