{"id":3104,"date":"2019-01-03T08:08:07","date_gmt":"2019-01-03T13:08:07","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/matg1013\/?p=3104"},"modified":"2026-04-05T20:06:22","modified_gmt":"2026-04-06T01:06:22","slug":"s2eva2010ti_t2-movimiento-angular","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-s2eva10\/s2eva2010ti_t2-movimiento-angular\/","title":{"rendered":"s2Eva2010TI_T2 EDO Movimiento angular"},"content":{"rendered":"\n<p><strong>Ejercicio<\/strong>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-2eva10\/2eva2010ti_t2-movimiento-angular\/\" data-type=\"post\" data-id=\"734\">2Eva2010TI_T2 EDO Movimiento angular<\/a><\/p>\n\n\n\n<p>Para resolver, se usa Runge-Kutta_fg de segundo orden como ejemplo<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y'' + 10 \\sin (y) =0 <\/span>\n\n\n\n<p>se hace<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y' = z = f(t,y,z)<\/span>\n\n\n\n<p>y se estandariza:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y'' =z'= -10 \\sin (y) = g(t,y,z) <\/span>\n\n\n\n<p>teniendo como punto de partida t<sub>0<\/sub>=0, y<sub>0<\/sub>=0 y z<sub>0<\/sub>=0.1<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">y(0)=0, y'(0)=0.1 <\/span>\n\n\n\n<p>Se desarrolla el algoritmo para obtener los valores:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> &#091; t, \t\t y, \t dyi\/dti=z]\n&#091;&#091; 0.          0.          0.1       ]\n &#091; 0.2         0.02        0.08000133]\n &#091; 0.4         0.03200053  0.02401018]\n &#091; 0.6         0.03040355 -0.04477916]\n &#091; 0.8         0.01536795 -0.09662411]\n &#091; 1.         -0.00703034 -0.10803459]]<\/code><\/pre>\n\n\n\n<p>que permiten generar la gr\u00e1fica de respuesta:<\/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\/2019\/01\/MovimientoAngular01.png\" alt=\"Movimiento Angular 01\" class=\"wp-image-18548\" \/><\/figure>\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<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# 2Eva_IT2010_T2 Movimiento angular\nimport numpy as np\nimport matplotlib.pyplot as plt\n\ndef rungekutta2_fg(f,g,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,z0]\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 * 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        estimado&#x5B;i] = &#x5B;xi,yi,zi]\n    return(estimado)\n\n# INGRESO theta = y\nft = lambda t,y,z: z\ngt = lambda t,y,z: -10*np.sin(y)\n\nt0 = 0\ny0 = 0\nz0 = 0.1\nh=0.2\nmuestras = 5\n\n# PROCEDIMIENTO\ntabla = rungekutta2_fg(ft,gt,t0,y0,z0,h,muestras)\n\n# SALIDA\nprint(' &#x5B; t, \\t\\t y, \\t dyi\/dti=z]')\nprint(tabla)\n\n# Grafica\nti = np.copy(tabla&#x5B;:,0])\nyi = np.copy(tabla&#x5B;:,1])\nzi = np.copy(tabla&#x5B;:,2])\nplt.subplot(121)\nplt.plot(ti,yi)\nplt.xlabel('ti')\nplt.title('yi')\nplt.subplot(122)\nplt.plot(ti,zi, color='green')\nplt.xlabel('ti')\nplt.title('dyi\/dti')\nplt.show()\n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 2Eva2010TI_T2 EDO Movimiento angular Para resolver, se usa Runge-Kutta_fg de segundo orden como ejemplo se hace y se estandariza: teniendo como punto de partida t0=0, y0=0 y z0=0.1 Se desarrolla el algoritmo para obtener los valores: que permiten generar la gr\u00e1fica de respuesta: Algoritmo en Python<\/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":[47],"tags":[58,54],"class_list":["post-3104","post","type-post","status-publish","format-standard","hentry","category-mn-s2eva10","tag-ejemplos-python","tag-mnumericos"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/3104","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=3104"}],"version-history":[{"count":4,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/3104\/revisions"}],"predecessor-version":[{"id":23846,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/3104\/revisions\/23846"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=3104"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=3104"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=3104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}