{"id":10774,"date":"2014-08-04T14:20:21","date_gmt":"2014-08-04T19:20:21","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/ccpg1001\/?p=10774"},"modified":"2026-04-05T18:28:16","modified_gmt":"2026-04-05T23:28:16","slug":"s3eva2003ti_t5-calcular-area-fx-montecarlo","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-s3eva10\/s3eva2003ti_t5-calcular-area-fx-montecarlo\/","title":{"rendered":"s3Eva2003TI_T5 Calcular \u00e1rea de f(x) por Montecarlo"},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-3eva10\/3eva2003ti_t5-calcular-area-fx-montecarlo\/\" data-type=\"post\" data-id=\"2500\">3Eva2003TI_T5 Calcular \u00e1rea de f(x) por Montecarlo<\/a><\/p>\n\n\n\n<p>La forma gr\u00e1fica del ejercicio permite comprender mejor lo que se estima.<\/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\/2014\/08\/montecarlo04.png\" alt=\"montecarlo 04\" class=\"wp-image-18944\" \/><\/figure>\n\n\n\n<p>Se generan puntos de posiciones aleatorias xi, yi dentro del cuadro limitado por [a,b] en x , [x,d] en y.<\/p>\n\n\n\n<p>Para cada valor de x aleatorio, se eval\u00faa en la funci\u00f3n f(x), observando si el valor de y aleatorio esta por encima o debajo de la funci\u00f3n.<\/p>\n\n\n\n<p>Se estima que la proporci\u00f3n de puntos debajo de f(x) del total de puntos es proporcional al \u00e1rea del rect\u00e1ngulo.<\/p>\n\n\n\n<p>El resultado del algoritmo para un experimento con n = 50 es:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Area estimada:  0.68\n\nArea estimada:  0.62<\/code><\/pre>\n\n\n\n<p>Se intuye que la precisi\u00f3n mejora al usar <strong>n<\/strong> mucho mas grande.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Algoritmo en Python<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# 3Eva_IT2003_T5 Calcular \u00e1rea de f(x) por Montecarlo\nimport numpy as np\nimport random as rnd\nimport matplotlib.pyplot as plt\n\n# INGRESO\nn = 50 # puntos aleatorios\na = 1\nb = 2\nfx = lambda x: x*np.exp(-x\/2)\n\nc = 0\nd = 1 # actualizar a max(fx(xi))\n\n# PROCEDIMIENTO\nxi = &#x5B;]\nyi = &#x5B;]\nfi = &#x5B;]\nbajofx  = 0\nfor i in range(0,n,1):\n    # genera puntos aleatorios\n    unxi = rnd.random()*(b-a)+a\n    unyi = rnd.random()*(d-c)+c\n    fxi = fx(unxi)\n    \n    # debajo de fx()\n    if unyi&lt;=fxi:\n        bajofx = bajofx +1\n\n    # guarda los puntos\n    xi.append(unxi)\n    yi.append(unyi)\n    fi.append(fxi)\n\n# estima area\nArectangulo = (b-a)*(d-c)\nAestimada = Arectangulo*bajofx\/n\n\n# SALIDA\nprint('Area estimada: ', Aestimada)\n\n# grafica\nplt.scatter(xi,yi, label = 'aleatorios')\nplt.scatter(xi,fi, label = 'f(x)')\nplt.xlabel('xi')\nplt.ylabel('yi')\nplt.legend()\nplt.show()\n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 3Eva2003TI_T5 Calcular \u00e1rea de f(x) por Montecarlo La forma gr\u00e1fica del ejercicio permite comprender mejor lo que se estima. Se generan puntos de posiciones aleatorias xi, yi dentro del cuadro limitado por [a,b] en x , [x,d] en y. Para cada valor de x aleatorio, se eval\u00faa en la funci\u00f3n f(x), observando si el [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"wp-custom-template-entrada-fp-ejemplos","format":"standard","meta":{"footnotes":""},"categories":[138],"tags":[58,157],"class_list":["post-10774","post","type-post","status-publish","format-standard","hentry","category-fp-s3eva10","tag-ejemplos-python","tag-fundamentos-programacion"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/10774","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=10774"}],"version-history":[{"count":5,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/10774\/revisions"}],"predecessor-version":[{"id":23745,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/10774\/revisions\/23745"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=10774"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=10774"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=10774"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}