{"id":1983,"date":"2017-11-15T07:00:29","date_gmt":"2017-11-15T12:00:29","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/matg1013\/?p=1983"},"modified":"2026-04-05T20:21:30","modified_gmt":"2026-04-06T01:21:30","slug":"s2eva2015ti_t2-deflexion-de-mastil","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-s2eva20\/s2eva2015ti_t2-deflexion-de-mastil\/","title":{"rendered":"s2Eva2015TI_T2 EDO Deflexi\u00f3n de m\u00e1stil"},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-2eva20\/2eva2015ti_t2-deflexion-de-mastil\/\" data-type=\"post\" data-id=\"900\">2Eva2015TI_T2 EDO Deflexi\u00f3n de m\u00e1stil<\/a><\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\frac{\\delta ^2 y}{\\delta x^2} = \\frac{f}{2EI} (L-x)^2 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x= 0, y = 0, \\frac{\\delta y}{\\delta x} = 0<\/span>\n\n\n\n<p>Ecuaci\u00f3n en forma estandarizada:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y'' = \\frac{f}{2EI} (L-x)^2<\/span>\n\n\n\n<p>Sistema de ecuaciones<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y' = z = f(x,y,z)<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> z' = \\frac{f}{2EI} (L-x)^2 = g(x,y,z)<\/span>\n\n\n\n<p>siendo:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">\\frac{f}{2EI} =\\frac{60}{2(1.25 \\times 10 ^{-8}) (0.05)} = 4.8 \\times 10^{-6} <\/span>\n\n\n\n<p>El m\u00e1stil mide L=30 m y se requieren 30 intervalos, entonces h = 30\/30 = 1.<\/p>\n\n\n\n<p>Usando muestras = tramos +1 = 31<\/p>\n\n\n\n<p>Se plantea una soluci\u00f3n usando Runge Kutta de 2do Orden<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(x,y,z) = z<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> g(x,y,z) = (4.8 \\times 10^{-6})(30-x)^2 <\/span>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Desarrollo anal\u00edtico<\/h2>\n\n\n\n<p>Las iteraciones se realizan para llenar los datos de la tabla,<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>i<\/th><th>x<sub>i<\/sub><\/th><th>y<sub>i<\/sub><\/th><th>z<sub>i<\/sub><\/th><\/tr><\/thead><tbody><tr><td>0<\/td><td>0<\/td><td>0<\/td><td>0<\/td><\/tr><tr><td>1<\/td><td>1<\/td><td>0.00216<\/td><td>0.00417<\/td><\/tr><tr><td>2<\/td><td>2<\/td><td>0.00835<\/td><td>0.00807<\/td><\/tr><tr><td>3<\/td><td>3<\/td><td><em><strong>tarea<\/strong><\/em><\/td><td>...<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>iteraci\u00f3n 1<\/strong><\/p>\n\n\n\n<p>i = 0 ; x<sub>0<\/sub>= 0; y<sub>0<\/sub> = 0; z<sub>0<\/sub> = 0<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K_{1y} = h f(x_0,y_0, z_0)= 1(0) = 0 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K_{1z} = h g(x_0,y_0, z_0) = <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">= 1(4.8 \\times 10^{-6})(30-0)^2 = 0.00432<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K_{2y} = h f(x_0+h,y_0+K_{1y}, z_0+K_{1z}) = <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">= 1(0+0.00432) = 0.00432 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K_{2z} = h g(x_0+h,y_0+K_{1y}, z_0+K_{1z}) = <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">= 1(4.8 \\times 10^{-6})(30-(0+1))^2 = 0.00403<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y_1 = y_0 + \\frac{K_{1y}+K_{2y}}{2} =<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> = 0 + \\frac{0+0.00432}{2} = 0.00216<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> z_1 = z_0 + \\frac{K_{1z}+K_{2z}}{2} =<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> = 0 + \\frac{0.00432+0.00403}{2} = 0.00417<\/span>\n\n\n\n<p><strong>iteraci\u00f3n 2<\/strong><\/p>\n\n\n\n<p>i = 2 ; x<sub>1<\/sub>= 1; y<sub>1<\/sub> = 0.00216; z<sub>1<\/sub> = 0.00417<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K_{1y} = h f(x_1,y_1, z_1)= 1(0.00417) = 0.00417 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K_{1z} = h g(x_1,y_1, z_1) = <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">= 1(4.8 \\times 10^{-6})(30-1)^2 = 0.00403<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K_{2y} = h f(x_1+h,y_1+K_{1y}, z_1+K_{1z}) = <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">= 1(0.00417+0.00403) = 0.00821 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> K_{2z} = h g(x_1+h,y_1+K_{1y}, z_1+K_{1z}) = <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">= 1(4.8 \\times 10^{-6})(30-(1+1))^2 = 0.00376<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y_2 = y_1 + \\frac{K_{1y}+K_{2y}}{2} =<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> = 0.00216 + \\frac{0.00417+0.00821}{2} = 0.00835<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> z_2 = z_2 + \\frac{K_{1z}+K_{2z}}{2} =<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> = 0.00417 + \\frac{0.00403+0.00376}{2} = 0.00807<\/span>\n\n\n\n<p><strong>iteraci\u00f3n 3<\/strong><br>i = 2; x<sub>2<\/sub>= 2; y<sub>2<\/sub> = 0.00835; z<sub>2<\/sub> = 0.00807<br><strong><em>tarea<\/em> <\/strong>...<\/p>\n\n\n\n<p>Para facilitar los c\u00e1lculos se propone usa el algoritmo en Python, como se describe en la siguiente secci\u00f3n.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Algoritmo en Python<\/h2>\n\n\n\n<p>Al usar el algoritmo se puede comparar los resultados entre Runge-Kutta de 2do orden y de 4to Orden.<\/p>\n\n\n\n<p>De los resultados se presenta la siguiente gr\u00e1fica<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"551\" height=\"432\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/11\/EDO2EIT2015T2DeflexionMastil01.png\" alt=\"EDO2EIT2015T2 Deflexi\u00f3n M\u00e1stil 01\" class=\"wp-image-18454\" \/><\/figure>\n\n\n\n<p>Observe en la gr\u00e1fica la diferencia de escalas entre los ejes.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Runge Kutta 2do Orden\n&#091;x, y, z]\n&#091;&#091;  0.00000000e+00   0.00000000e+00   0.00000000e+00]\n &#091;  1.00000000e+00   2.16000000e-03   4.17840000e-03]\n &#091;  2.00000000e+00   8.35680000e-03   8.07840000e-03]\n &#091;  3.00000000e+00   1.83168000e-02   1.17096000e-02]\n &#091;  4.00000000e+00   3.17760000e-02   1.50816000e-02]\n &#091;  5.00000000e+00   4.84800000e-02   1.82040000e-02]\n ...\n &#091;  2.90000000e+01   9.29856000e-01   4.32216000e-02]\n &#091;  3.00000000e+01   9.73080000e-01   4.32240000e-02]\n &#091;  3.10000000e+01   1.01630400e+00   4.32264000e-02]]<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>Runge Kutta 4do Orden\n&#091;x, y, z]\n&#091;&#091; 0.00000000e+00 0.00000000e+00 0.00000000e+00]\n &#091; 1.00000000e+00 2.11240000e-03 4.17760000e-03]\n &#091; 2.00000000e+00 8.26240000e-03 8.07680000e-03]\n &#091; 3.00000000e+00 1.81764000e-02 1.17072000e-02]\n &#091; 4.00000000e+00 3.15904000e-02 1.50784000e-02]\n &#091; 5.00000000e+00 4.82500000e-02 1.82000000e-02]\n ...\n &#091; 2.90000000e+01 9.28800400e-01 4.31984000e-02]\n &#091; 3.00000000e+01 9.72000000e-01 4.32000000e-02]\n &#091; 3.10000000e+01 1.01520040e+00 4.32016000e-02]]\n&gt;&gt;&gt;<\/code><\/pre>\n\n\n\n<p>Las instrucciones en Python obtener los resultados:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# 2Eva_IT2015_T2 Deflexi\u00f3n de m\u00e1stil\n# soluci\u00f3n propuesta: edelros@espol.edu.ec\nimport numpy as np\n\ndef rungekutta2fg(fx,gx,x0,y0,z0,h,muestras):\n    tamano = muestras + 1\n    estimado = np.zeros(shape=(tamano,3),dtype=float)\n    # incluye el punto &#x5B;x0,y0]\n    estimado&#x5B;0] = &#x5B;x0,y0,z0]\n    xi = x0\n    yi = y0\n    zi = z0\n    for i in range(1,tamano,1):\n        K1y = h * fx(xi,yi,zi)\n        K1z = h * gx(xi,yi,zi)\n        \n        K2y = h * fx(xi+h, yi + K1y, zi + K1z)\n        K2z = h * gx(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        estimado&#x5B;i] = &#x5B;xi,yi,zi]\n    return(estimado)\n\ndef rungekutta4fg(fx,gx,x0,y0,z0,h,muestras):\n    tamano = muestras + 1\n    estimado = np.zeros(shape=(tamano,3),dtype=float)\n    # incluye el punto &#x5B;x0,y0]\n    estimado&#x5B;0] = &#x5B;x0,y0,z0]\n    xi = x0\n    yi = y0\n    zi = z0\n    for i in range(1,tamano,1):\n        K1y = h * fx(xi,yi,zi)\n        K1z = h * gx(xi,yi,zi)\n        \n        K2y = h * fx(xi+h\/2, yi + K1y\/2, zi + K1z\/2)\n        K2z = h * gx(xi+h\/2, yi + K1y\/2, zi + K1z\/2)\n        \n        K3y = h * fx(xi+h\/2, yi + K2y\/2, zi + K2z\/2)\n        K3z = h * gx(xi+h\/2, yi + K2y\/2, zi + K2z\/2)\n\n        K4y = h * fx(xi+h, yi + K3y, zi + K3z)\n        K4z = h * gx(xi+h, yi + K3y, zi + K3z)\n\n        yi = yi + (K1y+2*K2y+2*K3y+K4y)\/6\n        zi = zi + (K1z+2*K2z+2*K3z+K4z)\/6\n        xi = xi + h\n        \n        estimado&#x5B;i] = &#x5B;xi,yi,zi]\n    return(estimado)\n\n# INGRESO\nf = 60\nL = 30\nE = 1.25e8\nI = 0.05\nx0 = 0\ny0 = 0\nz0 = 0\ntramos = 30\n\nfx = lambda x,y,z: z\ngx = lambda x,y,z: (f\/(2*E*I))*(L-x)**2\n\n# PROCEDIMIENTO\nmuestras = tramos + 1\nh = L\/tramos\ntabla2 = rungekutta2fg(fx,gx,x0,y0,z0,h,muestras)\nxi2 = tabla2&#x5B;:,0]\nyi2 = tabla2&#x5B;:,1]\nzi2 = tabla2&#x5B;:,2]\n\ntabla4 = rungekutta4fg(fx,gx,x0,y0,z0,h,muestras)\nxi4 = tabla4&#x5B;:,0]\nyi4 = tabla4&#x5B;:,1]\nzi4 = tabla4&#x5B;:,2]\n\n# SALIDA\nprint('Runge Kutta 2do Orden')\nprint(' &#x5B;x, y, z]')\nprint(tabla2)\nprint('Runge Kutta 4do Orden')\nprint(' &#x5B;x, y, z]')\nprint(tabla4)\n\n# GRAFICA\nimport matplotlib.pyplot as plt\nplt.plot(xi2,yi2, label='Runge-Kutta 2do Orden')\nplt.plot(xi4,yi4, label='Runge-Kutta 4do Orden')\nplt.title('Deflexi\u00f3n de m\u00e1stil')\nplt.xlabel('x')\nplt.ylabel('y: deflexi\u00f3n')\nplt.legend()\nplt.grid()\nplt.show()\n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 2Eva2015TI_T2 EDO Deflexi\u00f3n de m\u00e1stil Ecuaci\u00f3n en forma estandarizada: Sistema de ecuaciones siendo: El m\u00e1stil mide L=30 m y se requieren 30 intervalos, entonces h = 30\/30 = 1. Usando muestras = tramos +1 = 31 Se plantea una soluci\u00f3n usando Runge Kutta de 2do Orden Desarrollo anal\u00edtico Las iteraciones se realizan para llenar [&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-1983","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\/1983","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=1983"}],"version-history":[{"count":6,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1983\/revisions"}],"predecessor-version":[{"id":23877,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1983\/revisions\/23877"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=1983"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=1983"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=1983"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}