{"id":24741,"date":"2026-06-30T14:55:00","date_gmt":"2026-06-30T19:55:00","guid":{"rendered":"https:\/\/blog.espol.edu.ec\/algoritmos101\/?p=24741"},"modified":"2026-07-01T10:12:14","modified_gmt":"2026-07-01T15:12:14","slug":"s1eva2026paoi_t1-drones-medicinas-area-rural","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-s1eva30\/s1eva2026paoi_t1-drones-medicinas-area-rural\/","title":{"rendered":"s1Eva2026PAOI_T1 Drones para medicinas en \u00e1rea rural"},"content":{"rendered":"\n<p>Ejercicio: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-1eva30\/1eva2026paoi_t1-drones-medicinas-area-rural\/\" data-type=\"post\" data-id=\"24719\">1Eva2026PAOI_T1 Drones para medicinas en \u00e1rea rural<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Literal a. Planteamiento del problema<\/h2>\n\n\n\n<p>Seg\u00fan el enunciado, se puede tomar la altura del dron como referencia para liberar el paquete de carga.<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> h(t)=65+12e^{(-0.65t)}-8.5t <\/span>\n\n\n\n<p>La carga debe liberarse cuando el dron alcanza la altura de <strong>20 m<\/strong>. Por lo tanto, el problema consiste en encontrar el instante <strong>t<\/strong>\u00a0que satisface h(t)=20.<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> 65+12e^{(-0.65t)}-8.5t=20 <\/span>\n\n\n\n<p>Para aplicar un m\u00e9todo de b\u00fasqueda de ra\u00edces es necesario escribir la ecuaci\u00f3n en la forma f(t)=0<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(t)=65+12e^{(-0.65t)}-8.5t-20 <\/span>\n\n\n\n<figure class=\"wp-block-image alignright size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2026\/06\/droncargaMedicamentoft_02.png\" alt=\"dron carga Medicamento f(t) gr\u00e1fica\" class=\"wp-image-24744\" style=\"width:400px\" \/><\/figure>\n\n\n\n<p><strong>Verificaci\u00f3n del intervalo<\/strong><\/p>\n\n\n\n<p>El ejercicio indica que la trayectoria de vuelo para la entrega durante los primeros 10 minutos. Se eval\u00faa la funci\u00f3n en los extremos. Para t=0 y t=10<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">f(0)=65+12e^{-0.65t}-8.5(0)-20=107.48 <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(10)=65+12e^{(-0.65(10))}-8.5(10)-20 = -39.99 <\/span>\n\n\n\n<p>La funci\u00f3n cambia de signo en el intervalo [0,10]. Por el Teorema de Bolzano, existe al menos una ra\u00edz en dicho intervalo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Literal b. M\u00e9todo de Newton-Raphson<\/h2>\n\n\n\n<p>El m\u00e9todo de Newton-Raphson requiere conocer la funci\u00f3n f(t) y su derivada f'(t)<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(t)=65+12e^{(-0.65t)}-8.5t-20 <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f'(t)=12(-0.65)e^{(-0.65t)}-8.5 <\/span>\n\n\n\n<p>siguiendo la ecuaci\u00f3n para iterar:<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_{i+1} = x_i -\\frac{f(x_i)}{f'(x_i)} <\/span>\n\n\n\n<p>Como la ra\u00edz pertenece al intervalo [0,10], se podr\u00eda tomar como aproximaci\u00f3n inicial el punto medio:  t=5<\/p>\n\n\n\n<p><strong>iteraci\u00f3n 0<\/strong> , t=5<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(5) = 65+12e^{(-0.65(5))}-8.5(5)-20 = 2.9653 <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f'(5) = 12(-0.65)e^{(-0.65(5))}-8.5 =-8.8024 <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_{i+1} = 5 -\\frac{2.9653}{-8.8024} = 5.3369<\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> tramo = |5 -5.3369| = 0.3369<\/span>\n\n\n\n<p><strong>iteraci\u00f3n 1<\/strong> , t=5.3369<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(5.3369) = 65 + 12e^{(-0.65(5.3369))} - 8.5(5.3369) - 20 = 0.010383 <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f'(5.3369) = 12(-0.65)e^{(-0.65(5.3369))} - 8.5 = -8.7430 <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_{i+1} = 5.3369 -\\frac{0.010383}{-8.7430} = 5.3381<\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> tramo = |5.3369 -5.3381| = 0.001876<\/span>\n\n\n\n<p><strong>iteraci\u00f3n 2<\/strong> , t=5.3384<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(5.3381) = 65+ 12e^{(-0.65(5.3381))}-8.5(5.3381)-20 = 0.000001113 <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f'(5.3381) = 12(-0.65)e^{(-0.65(5.3381))} - 8.5 =-8.8428 <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_{i+1} = 5.3381 -\\frac{0.000001113}{-8.8428} = 5.3381<\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> tramo = | 5.3381 -5.3381| = 0.0000000127<\/span>\n\n\n\n<h2 class=\"wp-block-heading\">Literal c.  Convergencia<\/h2>\n\n\n\n<p>Se observa que los errores o tramos disminuyen en magnitud en cada iteraci\u00f3n. En la tercera iteraci\u00f3n se cumple que el error es menor que la tolerancia de 10<sup>-3<\/sup>. El t<sub>i<\/sub> converge a 5.33805<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Literal d. Constante k<\/h2>\n\n\n\n<p>Usando la expresi\u00f3n para el eje de las y(t)<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y(t)=25-1.5t+k <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> 18.50=25-1.5(5.33805)+k <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> k=18.50-(25-1.5(5.33805)) = 1.507075<\/span>\n\n\n\n<h2 class=\"wp-block-heading\">literal e. algoritmo, resultados y gr\u00e1fica<\/h2>\n\n\n\n<p>La gr\u00e1fica se present\u00f3 en el literal a,<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2026\/06\/droncargaMedicamentoft_02.png\" alt=\"dron carga Medicamento f(t) gr\u00e1fica\" class=\"wp-image-24744\" \/><\/figure>\n\n\n\n<p>Los resultados con el algoritmo son:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>M\u00e9todo de Newton-Raphson\ni &#091;'xi', 'fi', 'dfi', 'xnuevo', 'tramo']\n0 &#091; 5.      2.9653 -8.8024  5.3369  0.3369]\n1 &#091; 5.3369e+00  1.0383e-02 -8.7430e+00  5.3381e+00  1.1876e-03]\n2 &#091; 5.3381e+00  1.1134e-07 -8.7428e+00  5.3381e+00  1.2735e-08]\nM\u00e9todo de Newton-Raphson\nitera  :  3\nra\u00edz en:  5.338059066565638\nerrado :  1.273483540842335e-08<\/code><\/pre>\n\n\n\n<p>El algoritmo ajustado al ejercicio, usando el modelo de funci\u00f3n se muestra a continuaci\u00f3n:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# 1Eva2026PAOI_T1 Drones para medicinas en \u00e1rea rural\n# M\u00e9todo de Newton-Raphson\nimport numpy as np\n \n# INGRESO\nfx  = lambda t: 65+12*np.exp(-0.65*t)-8.5*t-20\ndfx = lambda t: 12*(-0.65)*np.exp(-0.65*t)-8.5\n \nx0 = 5\ntolera = 0.0000001\niteramax = 100\n \n# PROCEDIMIENTO\ndef newton_raphson(fx,dfx,x0, tolera, iteramax=100,\n                   vertabla=False, precision=4):\n    '''fx y dfx en forma num\u00e9rica lambda\n    xi es el punto inicial de b\u00fasqueda\n    si no converge hasta iteramax iteraciones\n    la respuesta es NaN (Not a Number)\n    '''\n    itera=0\n    xi = x0\n    tramo = abs(2*tolera)\n    tabla=&#x5B;]\n    if vertabla==True:\n        print('M\u00e9todo de Newton-Raphson')\n        print('i', &#x5B;'xi','fi','dfi', 'xnuevo', 'tramo'])\n        np.set_printoptions(precision)\n    while (tramo&gt;=tolera):\n        fi = fx(xi)\n        dfi = dfx(xi)\n        xnuevo = xi - fi\/dfi\n        tramo = abs(xnuevo-xi)\n \n        unafila = np.array(&#x5B;xi,fi,dfi,xnuevo,tramo])\n        tabla.append(unafila)\n        if vertabla==True:\n            print(itera,np.array(&#x5B;xi,fi,dfi,xnuevo,tramo]))\n        xi = xnuevo\n        itera = itera + 1\n \n    if itera&gt;=iteramax:\n        xi = np.nan\n        print('itera: ',itera,\n              'No converge,se alcanz\u00f3 el m\u00e1ximo de iteraciones')\n    tabla = np.array(tabla,dtype=float)\n    return(xi,tabla)\n\niteramax = 15\nverdigitos = 4 # ver digitos en tabla\n \n# PROCEDIMIENTO\nxi,tabla = newton_raphson(fx,dfx,x0,tolera,iteramax,\n                          vertabla=True,\n                          precision=verdigitos)\nn = len(tabla)\nerrado = tabla&#x5B;n-1,4]\n \n# SALIDA\nprint('M\u00e9todo de Newton-Raphson')\nprint('itera  : ', n)\nprint('ra\u00edz en: ', xi)\nprint('errado : ', errado)\n<\/pre><\/div>\n\n\n<p>para la parte gr\u00e1fica se ajusta el intervalo de observaci\u00f3n [a,b]<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# GRAFICA ---------------------\nimport matplotlib.pyplot as plt\n \na = 0\nb = 10\nmuestras = 21\nitera_graf = n-1 # iteraci\u00f3n en gr\u00e1fica\ntitulo = 'Newton-Raphson'\n \nxk = np.linspace(a,b,muestras)\nfk = fx(xk)\n \nxa = tabla&#x5B;:,0]\nya = tabla&#x5B;:,1]\nxb = tabla&#x5B;:,3]\ndfi = tabla&#x5B;:,2]\n# Aproximacion con tangente\nb0 = ya&#x5B;itera_graf] - dfi&#x5B;itera_graf]*xa&#x5B;itera_graf]\ntangentek = dfi&#x5B;itera_graf]*xk + b0\nci = -b0\/dfi&#x5B;itera_graf]\n \nplt.plot(xk,fk, label='f(x)')\nif itera_graf==(n-1): # iteraci\u00f3n final\n    plt.plot(xi,0, 'o')\nif itera_graf&lt;(n-1): # una iteraci\u00f3n en gr\u00e1fica\n    titulo = titulo+', itera='+str(itera_graf)\n    plt.ylim(&#x5B;np.min(fk),np.max(fk)])\n    plt.plot(&#x5B;xa&#x5B;itera_graf],xa&#x5B;itera_graf]],&#x5B;0,ya&#x5B;itera_graf]],'--',color='red')\n    plt.plot(xa&#x5B;itera_graf],ya&#x5B;itera_graf],'o',color='red',label='xi')\n    plt.plot(xk,tangentek,color='orange',label='tangente')\n    plt.plot(ci,0,'o',color='green',label='x&#x5B;i+1]')\n     \nplt.axhline(0)\nplt.xlabel('x')\nplt.ylabel('f(x)')\nplt.grid()\nplt.legend()\nplt.title(titulo)\nplt.tight_layout()\nplt.show()\n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 1Eva2026PAOI_T1 Drones para medicinas en \u00e1rea rural Literal a. Planteamiento del problema Seg\u00fan el enunciado, se puede tomar la altura del dron como referencia para liberar el paquete de carga. La carga debe liberarse cuando el dron alcanza la altura de 20 m. Por lo tanto, el problema consiste en encontrar el instante t\u00a0que [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"wp-custom-template-entrada-mn-ejemplo","format":"standard","meta":{"footnotes":""},"categories":[46],"tags":[58,54],"class_list":["post-24741","post","type-post","status-publish","format-standard","hentry","category-mn-s1eva30","tag-ejemplos-python","tag-mnumericos"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/24741","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=24741"}],"version-history":[{"count":12,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/24741\/revisions"}],"predecessor-version":[{"id":24781,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/24741\/revisions\/24781"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=24741"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=24741"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=24741"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}