{"id":12045,"date":"2017-08-07T16:01:47","date_gmt":"2017-08-07T21:01:47","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/analisisnumerico\/?p=12045"},"modified":"2026-03-27T18:00:09","modified_gmt":"2026-03-27T23:00:09","slug":"integraldobles-arearectangular","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-unidades\/mn-u05\/integraldobles-arearectangular\/","title":{"rendered":"5.6 Integrales dobles sobre \u00e1rea rectangular con Python"},"content":{"rendered":"\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>Integral <a href=\"#concepto\">doble<\/a><\/p>\n\n\n\n<p><a href=\"#ejercicio\">ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p>gr\u00e1fica:<\/p>\n\n\n\n<p><a href=\"#graficamalla\">malla<\/a><\/p>\n\n\n\n<p><a href=\"#graficabarras\">barras<\/a><a name=\"concepto\"><\/a><\/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=\"concepto\">1. Integrales Dobles sobre \u00e1rea rectangular<\/h2>\n\n\n\n<p><strong>Referencia<\/strong>: Chapra 21.5 p643, Burden 4.9 p174<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1057\" height=\"480\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/08\/integramultiple_wireframe_bar01.png\" alt=\"integral multiple wireframe barras 01\" class=\"wp-image-13659\" \/><\/figure>\n\n\n\n<p>Un ejemplo sencillo de integral doble es una funci\u00f3n sobre un \u00e1rea rectangular. Las t\u00e9cnicas revisadas en las secciones anteriores de pueden reutilizar para la aproximaci\u00f3n de integrales m\u00faltiples. <\/p>\n\n\n\n<p>Considere la integral doble<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\int_R \\int f(x,y) \\delta A <\/span>\n\n\n\n<p>siendo<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>R = {(x,y) | \n     x<sub>0<\/sub> \u2264 x&nbsp;\u2264 x<sub>n<\/sub>, \n     y<sub>0<\/sub> \u2264 y&nbsp;\u2264 y<sub>n<\/sub> }<\/code><\/pre>\n\n\n\n<p>que es una regi\u00f3n rectangular en el plano.<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\int_{x_o}^{x_n}\\int_{y_o}^{y_n} f(x,y) \\delta y \\delta x <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\int_{y_o}^{y_n} \\int_{x_o}^{x_n} f(x,y) \\delta x \\delta y <\/span>\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>Integral <a href=\"#concepto\">doble<\/a><\/p>\n\n\n\n<p><a href=\"#ejercicio\">ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p>gr\u00e1fica:<\/p>\n\n\n\n<p><a href=\"#graficamalla\">malla<\/a><\/p>\n\n\n\n<p><a href=\"#graficabarras\">barras<\/a><a name=\"concepto\"><\/a><\/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=\"ejercicio\">2. Ejercicio<\/h2>\n\n\n\n<p><strong>Referencia<\/strong>:&nbsp; <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-eval\/mn-3e20\/3eva2018tii_t1-integral-doble-con-cuadratura-de-gauss\/\" data-type=\"post\" data-id=\"3212\">3Eva2018TII_T1 Integral doble f(x,y)<\/a><\/p>\n\n\n\n<p>Aproxime el resultado de la integral doble (en \u00e1rea rectangular)<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\displaystyle \\int_{0}^{\\pi\/4} \\displaystyle\\int_{0}^{\\pi\/4} \\Big( 2y \\sin(x) + \\cos ^2 (x) \\Big) \\delta y \\delta x <\/span>\n\n\n\n<p>Considere los <code>tramosx = 5<\/code>&nbsp;como tama\u00f1os de paso en eje x , <code>tramosy = 4<\/code>&nbsp;como tama\u00f1os de paso en eje y.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1057\" height=\"480\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/08\/integramultiple_wireframe_bar01.png\" alt=\"integral multiple wireframe barras 01\" class=\"wp-image-13659\" \/><\/figure>\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>Integral <a href=\"#concepto\">doble<\/a><\/p>\n\n\n\n<p><a href=\"#ejercicio\">ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p>gr\u00e1fica:<\/p>\n\n\n\n<p><a href=\"#graficamalla\">malla<\/a><\/p>\n\n\n\n<p><a href=\"#graficabarras\">barras<\/a><a name=\"concepto\"><\/a><\/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=\"analitico\">3. Desarrollo Anal\u00edtico<\/h2>\n\n\n\n<p>Use las f\u00f3rmulas compuestas de Simpson, haciendo primero constante un valor en y, luego propagando el proceso. Al obtener los integrales en un sentido, repetir el proceso con los resultados en el otro eje.<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>j: 0 , yj&#091;0]: 0.0\nF\u00f3rmulas compuestas, tramos: 5\nm\u00e9todos 3:Simpson3\/8, 2:Simpson1\/3, 1:Trapecio, 0:usado\ntramos iguales en xi: &#091;3 0 0 2 0 0]\n Simpson 3\/8 : 0.4378989163640264\n Simpson 1\/3 : 0.20482799857900125\n Integral: 0.6427269149430277\nj: 1 , yj&#091;1]: 0.19634954084936207\nF\u00f3rmulas compuestas, tramos: 5\nm\u00e9todos 3:Simpson3\/8, 2:Simpson1\/3, 1:Trapecio, 0:usado\ntramos iguales en xi: &#091;3 0 0 2 0 0]\n Simpson 3\/8 : 0.4807008818748735\n Simpson 1\/3 : 0.2770455037573468\n Integral: 0.7577463856322203\nj: 2 , yj&#091;2]: 0.39269908169872414\nF\u00f3rmulas compuestas, tramos: 5\nm\u00e9todos 3:Simpson3\/8, 2:Simpson1\/3, 1:Trapecio, 0:usado\ntramos iguales en xi: &#091;3 0 0 2 0 0]\n Simpson 3\/8 : 0.5235028473857204\n Simpson 1\/3 : 0.34926300893569256\n Integral: 0.8727658563214129\nj: 3 , yj&#091;3]: 0.5890486225480862\nF\u00f3rmulas compuestas, tramos: 5\nm\u00e9todos 3:Simpson3\/8, 2:Simpson1\/3, 1:Trapecio, 0:usado\ntramos iguales en xi: &#091;3 0 0 2 0 0]\n Simpson 3\/8 : 0.5663048128965673\n Simpson 1\/3 : 0.42148051411403814\n Integral: 0.9877853270106054\nj: 4 , yj&#091;4]: 0.7853981633974483\nF\u00f3rmulas compuestas, tramos: 5\nm\u00e9todos 3:Simpson3\/8, 2:Simpson1\/3, 1:Trapecio, 0:usado\ntramos iguales en xi: &#091;3 0 0 2 0 0]\n Simpson 3\/8 : 0.6091067784074142\n Simpson 1\/3 : 0.4936980192923838\n Integral: 1.1028047976997981\n\nyj: &#091;0.         0.19634954 0.39269908 0.58904862 0.78539816]\nArea por fila: &#091;0.6427269149430277, 0.7577463856322203, 0.8727658563214129, 0.9877853270106054, 1.1028047976997981]\nF\u00f3rmulas compuestas, tramos: 4\nm\u00e9todos 3:Simpson3\/8, 2:Simpson1\/3, 1:Trapecio, 0:usado\ntramos iguales en xi: &#091;3 0 0 1 0]\n Simpson 3\/8 : 0.4802254950852897\n trapecio : 0.20524320554554915\n Integral: 0.6854687006308389\n\nIntegral doble f(x,y)\nxi &#091;0.     0.1571 0.3142 0.4712 0.6283 0.7854]\nyj &#091;0.     0.1963 0.3927 0.589  0.7854]\nd1x : &#091;0.1571 0.1571 0.1571 0.1571 0.1571]\nd2x : &#091;0. 0. 0. 0.]\nd1y : &#091;0.1963 0.1963 0.1963 0.1963]\nd2y : &#091;0. 0. 0.]\nf(x,y)\n&#091;&#091;1.     0.9755 0.9045 0.7939 0.6545 0.5   ]\n &#091;1.     1.037  1.0259 0.9722 0.8853 0.7777]\n &#091;1.     1.0984 1.1472 1.1505 1.1162 1.0554]\n &#091;1.     1.1598 1.2686 1.3287 1.347  1.333 ]\n &#091;1.     1.2213 1.3899 1.507  1.5778 1.6107]]\nIntegral Volumen: 0.6854687006308389<\/code><\/pre>\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>Integral <a href=\"#concepto\">doble<\/a><\/p>\n\n\n\n<p><a href=\"#ejercicio\">ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p>gr\u00e1fica:<\/p>\n\n\n\n<p><a href=\"#graficamalla\">malla<\/a><\/p>\n\n\n\n<p><a href=\"#graficabarras\">barras<\/a><a name=\"concepto\"><\/a><\/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=\"algoritmo\">4. Algoritmo en Python<\/h2>\n\n\n\n<p>El punto de partida es usar las&nbsp;<a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-unidades\/mn-u05\/integracion-tramos-desiguales\/\" data-type=\"post\" data-id=\"11366\">F\u00f3rmulas compuestas<\/a> con \u0394x segmentos desiguales, donde el algoritmo selecciona aplicar Simpson 3\/8, Simpson 1\/3 y trapecios seg\u00fan se cumplan los requisitos.<\/p>\n\n\n\n<p>Instrucciones en Python<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Integral doble f(x,y) o de volumen\n# Formulas compuestas, tramos no iguales\n# Integraci\u00f3n Simpson 3\/8, Simpson 1\/3 y trapecio\nimport numpy as np\n\n# INGRESO\nfxy = lambda x,y: 2*y*np.sin(x)+(np.cos(x))**2 \nx0 = 0    # intervalo x\nxn = np.pi\/4\ny0 = 0    # intervalo y\nyn = np.pi\/4\ntramosx = 5 # tramos por eje\ntramosy = 4\ntitulo = 'f(x,y)'\nprecision = 4 # decimales a mostrar\n\n# PROCEDIMIENTO\nxi = np.linspace(x0,xn,tramosx+1)\nyj = np.linspace(y0,yn,tramosy+1)\nn = len(xi)\nm = len(yj)\nhx = (xn-x0)\/tramosx # tama\u00f1os de paso\nhy = (yn-y0)\/tramosy\nXi,Yj = np.meshgrid(xi,yj)\n\n# Matriz u&#x5B;xi,yj] para f(x,y)\nF = np.zeros(shape=(n,m),dtype=float)\nF = fxy(Xi,Yj)\n\ndef simpson_compuesto(xi,fi,vertabla=False,casicero=1e-7):\n    '''M\u00e9todo compuesto Simpson 3\/8, Simpson 1\/3 y trapecio\n    salida: integral,cuenta_h\n    '''\n    # vectores como arreglo, numeros reales\n    xi = np.array(xi,dtype=float)\n    fi = np.array(fi,dtype=float)\n    n = len(xi)\n\n    # M\u00e9todo compuesto Simpson 3\/8, Simpson 1\/3 y trapecio\n    cuenta_h = (-1)*np.ones(n,dtype=int) # sin usar\n    suma = 0 # integral total\n    suma_parcial =&#x5B;] # integral por cada m\u00e9todo\n    i = 0\n    while i&lt;(n-1): # i&lt;tramos, al menos un tramo\n        tramo_usado = False\n        h = xi&#x5B;i+1]-xi&#x5B;i] # tama\u00f1o de paso, supone constante\n        \n        # tres tramos iguales\n        if (tramo_usado==False) and (i+3)&lt;n:\n            d2x = np.diff(xi&#x5B;i:i+4],2) # diferencias entre tramos\n            errado = np.max(np.abs(d2x))\n            if errado&lt;casicero: # Simpson 3\/8\n                S38 = (3\/8)*h*(fi&#x5B;i]+3*fi&#x5B;i+1]+3*fi&#x5B;i+2]+fi&#x5B;i+3])\n                suma = suma + S38\n                cuenta_h&#x5B;i:i+3] = &#x5B;3,0,0] # Simpson 3\/8\n                suma_parcial.append(&#x5B;'Simpson 3\/8',S38])\n                i = i+3\n                tramo_usado = True\n\n        # dos tramos iguales\n        if (tramo_usado==False) and (i+2)&lt;n:\n            d2x = np.diff(xi&#x5B;i:i+3],2) # diferencias entre tramos\n            errado = np.max(np.abs(d2x))\n            if errado&lt;casicero: # Simpson 1\/3\n                S13 = (h\/3)*(fi&#x5B;i]+4*fi&#x5B;i+1]+fi&#x5B;i+2])\n                suma = suma + S13\n                cuenta_h&#x5B;i:i+2] = &#x5B;2,0]\n                suma_parcial.append(&#x5B;'Simpson 1\/3',S13])\n                i = i+2\n                tramo_usado = True\n                \n        # un tramo igual\n        if (tramo_usado == False) and (i+1)&lt;n:\n            trapecio = (h\/2)*(fi&#x5B;i]+fi&#x5B;i+1])\n            suma = suma + trapecio\n            cuenta_h&#x5B;i:i+1] = &#x5B;1] # usar trapecio\n            suma_parcial.append(&#x5B;'trapecio',trapecio])\n            i = i+1\n            tramo_usado = True\n            \n    cuenta_h&#x5B;n-1] = 0 # ultima casilla\n    \n    if vertabla==True: #mostrar datos parciales\n        print('F\u00f3rmulas compuestas, tramos:',n-1)\n        print('m\u00e9todos 3:Simpson3\/8, 2:Simpson1\/3, 1:Trapecio, 0:usado')\n        print('tramos iguales en xi:',cuenta_h)\n        for unparcial in suma_parcial:\n            print('',unparcial&#x5B;0],':',unparcial&#x5B;1])\n        print('','Integral:',suma)\n\n    return(&#x5B;suma,cuenta_h])\n\n# PROGRAMA --------------\nareaj = &#x5B;]\ncuenta_hj = &#x5B;]\nj = 0 # y&#x5B;0] constante\nfor j in range(0,tramosy+1,1): # cada yj\n    print('j:',j,', yj&#x5B;'+str(j)+']:',yj&#x5B;j])\n    xj = Xi&#x5B;j]\n    fj = F&#x5B;j]\n    area,cuenta_h=simpson_compuesto(xj,fj,\n                                    vertabla=True,\n                                    casicero=1e-7)\n    areaj.append(area)\n    cuenta_hj.append(cuenta_h)\nprint('\\nyj:',yj)\nprint('Area por fila:',areaj)\n&#x5B;area,cuenta_h] = simpson_compuesto(yj,areaj,\n                                  vertabla=True,\n                                  casicero=1e-7)\n# SALIDA\nnp.set_printoptions(precision)\nprint('\\nIntegral doble f(x,y)')\nprint('xi',xi)\nprint('yj',yj)\nprint('d1x :',np.diff(xi,1))\nprint('d2x :',np.diff(xi,2))\nprint('d1y :',np.diff(yj,1))\nprint('d2y :',np.diff(yj,2))\nprint(titulo)\nprint(F)\nprint('Integral Volumen:', area)\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>Integral <a href=\"#concepto\">doble<\/a><\/p>\n\n\n\n<p><a href=\"#ejercicio\">ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p>gr\u00e1fica:<\/p>\n\n\n\n<p><a href=\"#graficamalla\">malla<\/a><\/p>\n\n\n\n<p><a href=\"#graficabarras\">barras<\/a><a name=\"concepto\"><\/a><\/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=\"graficamalla\">4. Gr\u00e1fica de malla<\/h2>\n\n\n\n<p>Permite observar la superficie de f(x,y) sobre la que se calcular\u00e1 el volumen respecto al plano x,y en cero.<\/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\/08\/integramultiple_wireframe.png\" alt=\"integral m\u00faltiple wireframe\" class=\"wp-image-13657\" \/><\/figure>\n\n\n\n<p>Instrucciones adicionales al algoritmo<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# GRAFICA 3D de malla ------\nimport matplotlib.pyplot as plt\n\n# Malla para cada eje X,Y\nfig3D = plt.figure()\ngraf3D = fig3D.add_subplot(111, projection='3d')\n\ngraf3D.plot_wireframe(Xi,Yj,F,label='f(x,y)')\ngraf3D.plot(0,0,0,'ro',label='&#x5B;0,0,0]')\n\n#entorno de gr\u00e1fica\ngraf3D.set_xlabel('x')\ngraf3D.set_ylabel('y')\ngraf3D.set_zlabel('z')\ngraf3D.set_title(titulo)\ngraf3D.legend()\ngraf3D.view_init(35, -45)\nplt.tight_layout()\n#plt.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>Integral <a href=\"#concepto\">doble<\/a><\/p>\n\n\n\n<p><a href=\"#ejercicio\">ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p>gr\u00e1fica:<\/p>\n\n\n\n<p><a href=\"#graficamalla\">malla<\/a><\/p>\n\n\n\n<p><a href=\"#graficabarras\">barras<\/a><a name=\"concepto\"><\/a><\/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=\"graficabarras\">5. Gr\u00e1fica de barras<\/h2>\n\n\n\n<p>Realizado para observar las barras con lados de segmentos dx=hx, dy=hy.<\/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\/08\/integramultiple_bar.png\" alt=\"integral m\u00faltiple barra\" class=\"wp-image-13660\" \/><\/figure>\n\n\n\n<p>Instrucciones complementarias a la gr\u00e1fica anterior.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Grafica barras 3D ------\nfactor = 0.95 # barra proporcion dx, dy\n\nfig_3D = plt.figure()\ngraf_3D = fig_3D.add_subplot(111,projection='3d')\n\nF_min = np.min(&#x5B;np.min(F),0])\nF_max = np.max(&#x5B;np.max(F)])\ncolor_F = F&#x5B;:m-1,:n-1].ravel()\/F_max\ncolor_ij = plt.cm.rainbow(color_F)\n\ngraf_3D.bar3d(Xi&#x5B;:m-1,:n-1].ravel(),\n              Yj&#x5B;:m-1,:n-1].ravel(),\n              np.zeros((n-1)*(m-1)),\n              hx*factor,hy*factor,\n              F&#x5B;:m-1,:n-1].ravel(),\n              color=color_ij)\ngraf_3D.plot(0,0,0,'ro',label='&#x5B;0,0,0]')\n\n# escala eje z\ngraf_3D.set_zlim(F_min,F_max)\n# entorno de gr\u00e1fica\ngraf_3D.set_xlabel('xi')\ngraf_3D.set_ylabel('yj')\ngraf_3D.set_zlabel('z')\ngraf_3D.set_title(titulo)\ngraf_3D.legend()\n\n# Barra de color\ncolor_escala = plt.Normalize(F_min,F_max)\ncolor_barra = plt.cm.ScalarMappable(norm=color_escala,\n                cmap=plt.colormaps&#x5B;&quot;rainbow&quot;])\nfig_3D.colorbar(color_barra,ax=graf_3D,label=&quot;F&#x5B;xi,yj]&quot;)\n\ngraf_3D.view_init(35, -45)\nplt.tight_layout()\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>Integral <a href=\"#concepto\">doble<\/a><\/p>\n\n\n\n<p><a href=\"#ejercicio\">ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p>gr\u00e1fica:<\/p>\n\n\n\n<p><a href=\"#graficamalla\">malla<\/a><\/p>\n\n\n\n<p><a href=\"#graficabarras\">barras<\/a><a name=\"concepto\"><\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n","protected":false},"excerpt":{"rendered":"<p>Integral doble ejercicio algoritmo gr\u00e1fica: malla barras 1. Integrales Dobles sobre \u00e1rea rectangular Referencia: Chapra 21.5 p643, Burden 4.9 p174 Un ejemplo sencillo de integral doble es una funci\u00f3n sobre un \u00e1rea rectangular. Las t\u00e9cnicas revisadas en las secciones anteriores de pueden reutilizar para la aproximaci\u00f3n de integrales m\u00faltiples. Considere la integral doble siendo que [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"wp-custom-template-entrada-mn-unidades","format":"standard","meta":{"footnotes":""},"categories":[39],"tags":[],"class_list":["post-12045","post","type-post","status-publish","format-standard","hentry","category-mn-u05"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/12045","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=12045"}],"version-history":[{"count":9,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/12045\/revisions"}],"predecessor-version":[{"id":23151,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/12045\/revisions\/23151"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=12045"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=12045"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=12045"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}