{"id":8772,"date":"2023-01-24T14:25:45","date_gmt":"2023-01-24T19:25:45","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/analisisnumerico\/?p=8772"},"modified":"2026-04-05T20:45:11","modified_gmt":"2026-04-06T01:45:11","slug":"s2eva2022paoii_t3-edp-parabolica-cos34pi","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-s2eva30\/s2eva2022paoii_t3-edp-parabolica-cos34pi\/","title":{"rendered":"s2Eva2022PAOII_T3 EDP Parab\u00f3lica con coseno 3\/4\u03c0"},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-2eva30\/2eva2022paoii_t3-edp-parabolica-cos34pi\/\" data-type=\"post\" data-id=\"8767\">2Eva2022PAOII_T3 EDP Parab\u00f3lica con coseno 3\/4\u03c0<\/a><\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">\\frac{\\partial^2 u}{\\partial x^2} = b \\frac{\\partial u}{\\partial t}<\/span>\n\n\n\n<h2 class=\"wp-block-heading\">Literal a. gr\u00e1fica de malla<\/h2>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1073\" height=\"679\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2023\/01\/2Eva_2022PAOII_T3_EDP_Parabolica_Malla.png\" alt=\"2Eva_2022PAOII_T3 EDP Parab\u00f3lica Malla\" class=\"wp-image-21076\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">literal b. Planteamiento<\/h2>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\frac{u_{i+1,j}-2u_{i,j}+u_{i-1,j}}{(\\Delta x)^2} = b\\frac{u_{i,j+1}-u_{i,j}}{\\Delta t}<\/span>\n\n\n\n<h2 class=\"wp-block-heading\">literal c. Modelo discreto<\/h2>\n\n\n\n<p>Agrupando constantes(\u03bb)<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\frac{\\Delta t}{b} \\frac{u_{i+1,j}-2u_{i,j}+u_{i-1,j}}{(\\Delta x)^2} = \\frac{\\Delta t}{b}b\\frac{u_{i,j+1}-u_{i,j}}{\\Delta t}<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \u03bb = \\frac{\\Delta t}{b(\\Delta x)^2} <\/span>\n\n\n\n<p>Analiza \u03bb para convergencia del m\u00e9todo<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \u03bb = \\frac{0.002}{2(0.2)^2} =0.025 <\/span>\n\n\n\n<p>como \u03bb&lt;0.5 el m\u00e9todo converge.<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\lambda \\Big[u[i+1,j]-2u[i,j]+u[i-1,j]\\Big] = u[i,j+1]-u[i,j]<\/span>\n\n\n\n<h2 class=\"wp-block-heading\">literal d. Usando el m\u00e9todo expl\u00edcito<\/h2>\n\n\n\n<p>reagrupando nodos<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> u[i,j+1] =\\lambda \\Big[u[i+1,j]-2u[i,j]+u[i-1,j]\\Big] + u[i,j]<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> u[i,j+1] =\\lambda u[i+1,j]+(1-2\\lambda)u[i,j]+\\lambda u[i-1,j]<\/span>\n\n\n\n<p>iteraci\u00f3n i=1, j=0<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> u[1,1] =\\lambda u[0,0]+(1-2\\lambda)u[1,0]+\\lambda u[2,0]<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> u[1,1] =0.025(1) +(1-2(0.025))\\cos \\Big( \\frac{3\u03c0}{2}0.2\\Big)+0.025 \\cos \\Big( \\frac{3\u03c0}{2}0.4\\Big)<\/span>\n\n\n\n<p>iteraci\u00f3n i=2, j=0<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> u[2,1] =\\lambda u[1,0]+(1-2\\lambda)u[2,0]+\\lambda u[3,0]<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> u[2,1] =0.025\\cos \\Big( \\frac{3\u03c0}{2}0.2\\Big) +(1-2(0.025))\\cos \\Big( \\frac{3\u03c0}{2}0.4\\Big) <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">+0.025 \\cos \\Big( \\frac{3\u03c0}{2}0.6\\Big)<\/span>\n\n\n\n<p>iteraci\u00f3n i=3, j=0<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> u[3,1] =\\lambda u[2,0]+(1-2\\lambda)u[3,0]+\\lambda u[4,0]<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> u[3,1] =0.025\\cos \\Big( \\frac{3\u03c0}{2}0.4\\Big) +(1-2(0.025))\\cos \\Big( \\frac{3\u03c0}{2}0.6\\Big)<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">+0.025 \\cos \\Big( \\frac{3\u03c0}{2}0.8\\Big)<\/span>\n\n\n\n<p>iteraci\u00f3n i=4, j=0<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> u[4,1] =\\lambda u[3,0]+(1-2\\lambda)u[4,0]+\\lambda u[5,0]<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> u[4,1] =0.025\\cos \\Big( \\frac{3\u03c0}{2}0.6\\Big) +(1-2(0.025))\\cos \\Big( \\frac{3\u03c0}{2}0.8\\Big)<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">+0.025 (0)<\/span>\n\n\n\n<p>continuar con las iteraciones en el algoritmo<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">literal e. Algoritmo en Python<\/h2>\n\n\n\n<p>Se observa que el m\u00e9todo es convergente, dado que \u03bb&lt;0.5<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>M\u00e9todo expl\u00edcito EDP Parab\u00f3lica\nlambda:  0.02\nx: &#091;0.  0.2 0.4 0.6 0.8 1. ]\nt: &#091;0.   0.   0.   0.01 0.01] ... 0.02\nTabla de resultados en malla EDP Parab\u00f3lica\nj, U&#091;:,: 5 ], primeras iteraciones de  50\n5 &#091; 1.    0.53 -0.28 -0.86 -0.73  0.  ]\n4 &#091; 1.    0.54 -0.28 -0.88 -0.74  0.  ]\n3 &#091; 1.    0.55 -0.29 -0.89 -0.76  0.  ]\n2 &#091; 1.    0.56 -0.3  -0.91 -0.78  0.  ]\n1 &#091; 1.    0.58 -0.3  -0.93 -0.79  0.  ]\n0 &#091; 1.    0.59 -0.31 -0.95 -0.81  0.  ]<\/code><\/pre>\n\n\n\n<p>gr\u00e1fica de temperatura inicial de barra<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"362\" height=\"254\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2023\/01\/2Eva2022PAOII_T3_EDP_Parabolica.png\" alt=\"2Eva2022PAOII_T3 EDPParab\u00f3lica\" class=\"wp-image-17519\" \/><\/figure>\n\n\n\n<p>Resultado luego de al menos 10 iteraciones<\/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\/2023\/01\/2Eva2022PAOII_T3_EDP_Parabolica01.png\" alt=\"2Eva2022PAOII_T3 EDP Parab\u00f3lica 01\" class=\"wp-image-21028\" \/><\/figure>\n\n\n\n<p>Gr\u00e1fica en 3D<\/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\/2023\/01\/2Eva2022PAOII_T3_EDP_Parabolica02.png\" alt=\"2Eva2022PAOII_T3 EDP Parabolica 3D\" class=\"wp-image-21027\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Algoritmo con Python<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; highlight: [27,28,29,54]; title: ; notranslate\" title=\"\">\n# 2Eva2022PAOII_T3 EDP Parab\u00f3lica con coseno 3\/4\u03c0\n# EDP parab\u00f3licas d2u\/dx2  = K du\/dt\n# m\u00e9todo expl\u00edcito,usando diferencias divididas\nimport numpy as np\n\n# INGRESO\n# Valores de frontera\nTa = 1  # izquierda de barra\nTb = 0  # derecha de barra\n#Tc = 25 # estado inicial de barra en x\nfxc = lambda x: np.cos(3*np.pi\/2*x) # f(x) en tiempo inicial\n\n# dimensiones de la barra\na = 0  # longitud en x\nb = 1\nt0 = 0 # tiempo inicial, aumenta con dt en n iteraciones\n\nK = 2     # Constante K\ndx = 0.2  # muestreo en x, tama\u00f1o de paso\ndt = dx\/100\n\nn = 50  # iteraciones en tiempo\nverdigitos = 2   # decimales a mostrar en tabla de resultados\n\n# coeficientes de U&#x5B;x,t]. factores P,Q,R, \nlamb = dt\/(K*dx**2)\nP = lamb       # izquierda P*U&#x5B;i-1,j]\nQ = 1 - 2*lamb # centro Q*U&#x5B;i,j]\nR = lamb       # derecha R*U&#x5B;i+1,j]\n\n# PROCEDIMIENTO\n# iteraciones en x, longitud\nxi = np.arange(a,b+dx\/2,dx)\nm = len(xi) \nultimox = m-1\nultimot = n-1\n\n# u&#x5B;xi,tj], tabla de resultados\n# se incluye el estado a t=0: n+1\nu = np.zeros(shape=(m,n+1), dtype=float)\n\n# u&#x5B;i,j], valores iniciales\nu&#x5B;0,:] = Ta  # Izquierda\nu&#x5B;ultimox,:] = Tb  # derecha\n# estado inicial de barra en x, Tc\nfic = fxc(xi) # f(x) en tiempo inicial\nu&#x5B;1:ultimox,0] = fic&#x5B;1:ultimox]\n\n# Calcula U para cada tiempo + dt\ntj = np.arange(t0,(n+1)*dt,dt)\nfor j  in range(0,n,1):\n    for i in range(1,ultimox,1):\n        # ecuacion discreta, entre &#x5B;1,ultimox]\n        u&#x5B;i,j+1] = P*u&#x5B;i-1,j] + Q*u&#x5B;i,j] + R*u&#x5B;i+1,j]\n\n# SALIDA\nj_mostrar = 5\nnp.set_printoptions(precision=verdigitos)\nprint('M\u00e9todo expl\u00edcito EDP Parab\u00f3lica')\nprint('lambda: ',np.around(lamb,verdigitos))\nprint('x:',xi)\nprint('t:',tj&#x5B;0:j_mostrar],'...',tj&#x5B;-1])\nprint('Tabla de resultados en malla EDP Parab\u00f3lica')\nprint('j, U&#x5B;:,:',j_mostrar,'], primeras iteraciones de ',n)\nfor j in range(j_mostrar,-1,-1):\n    print(j,u&#x5B;:,j])\n<\/pre><\/div>\n\n\n<p>Gr\u00e1ficas en Python<\/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\ntramos = 10\nsalto = int(n\/tramos) # evita muchas l\u00edneas\nif (salto == 0):\n    salto = 1\nfor j in range(0,n,salto):\n    vector = u&#x5B;:,j]\n    plt.plot(xi,vector)\n    plt.plot(xi,vector, '.',color='red')\nplt.xlabel('x&#x5B;i]')\nplt.ylabel('u&#x5B;j]')\nplt.title('Soluci\u00f3n EDP parab\u00f3lica')\nplt.show()\n\n# GRAFICA en 3D ------\ntj = np.arange(0,n*dt,dt)\ntk = np.zeros(tramos,dtype=float)\n \n# Extrae parte de la matriz U,acorde a los tramos\nU = np.zeros(shape=(m,tramos),dtype=float)\nfor k in range(0,tramos,1):\n    U&#x5B;:,k] = u&#x5B;:,k*salto]\n    tk&#x5B;k] = tj&#x5B;k*salto]\n# Malla para cada eje X,Y\nXi, Yi = np.meshgrid(xi,tk)\nU = np.transpose(U)\n \nfig_3D = plt.figure()\ngraf_3D = fig_3D.add_subplot(111, projection='3d')\ngraf_3D.plot_wireframe(Xi,Yi,U, color ='blue')\ngraf_3D.plot(xi&#x5B;0],tk&#x5B;1],U&#x5B;1,0],'o',color ='orange')\ngraf_3D.plot(xi&#x5B;1],tk&#x5B;1],U&#x5B;1,1],'o',color ='green')\ngraf_3D.plot(xi&#x5B;2],tk&#x5B;1],U&#x5B;1,2],'o',color ='green')\ngraf_3D.plot(xi&#x5B;1],tk&#x5B;2],U&#x5B;2,1],'o',color ='salmon',\n             label='U&#x5B;i,j+1]')\ngraf_3D.set_title('EDP Parab\u00f3lica')\ngraf_3D.set_xlabel('x')\ngraf_3D.set_ylabel('t')\ngraf_3D.set_zlabel('U')\ngraf_3D.legend()\ngraf_3D.view_init(35, -45)\nplt.show()\n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 2Eva2022PAOII_T3 EDP Parab\u00f3lica con coseno 3\/4\u03c0 Literal a. gr\u00e1fica de malla literal b. Planteamiento literal c. Modelo discreto Agrupando constantes(\u03bb) Analiza \u03bb para convergencia del m\u00e9todo como \u03bb&lt;0.5 el m\u00e9todo converge. literal d. Usando el m\u00e9todo expl\u00edcito reagrupando nodos iteraci\u00f3n i=1, j=0 iteraci\u00f3n i=2, j=0 iteraci\u00f3n i=3, j=0 iteraci\u00f3n i=4, j=0 continuar con las [&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":[49],"tags":[58,54],"class_list":["post-8772","post","type-post","status-publish","format-standard","hentry","category-mn-s2eva30","tag-ejemplos-python","tag-mnumericos"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/8772","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=8772"}],"version-history":[{"count":6,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/8772\/revisions"}],"predecessor-version":[{"id":23893,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/8772\/revisions\/23893"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=8772"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=8772"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=8772"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}