{"id":68,"date":"2017-05-22T09:10:09","date_gmt":"2017-05-22T14:10:09","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/matg1013\/?p=68"},"modified":"2026-01-16T14:59:10","modified_gmt":"2026-01-16T19:59:10","slug":"aprox-numerica-maximo-intervalo","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-u01\/aprox-numerica-maximo-intervalo\/","title":{"rendered":"1.4 Aproximaci\u00f3n num\u00e9rica - M\u00e1ximo en intervalo"},"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><em>Ejercicio<\/em>:<\/p>\n\n\n\n<p><a href=\"#ejercicio1\">M\u00e1ximo f(x)<\/a><\/p>\n\n\n\n<p><a href=\"#ejercicio2\">M\u00e1ximo f'(x)<\/a><a name=\"ejemplo1\"><\/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=\"ejercicio1\">1. Ejercicio M\u00e1ximo en f(x) entre [a,b]<\/h2>\n\n\n\n<p><em><strong>Referencia<\/strong>: Burden 7Ed cap\u00edtulo 1.1-ejemplo 1 p6; Burden 10Ed&nbsp; p5<\/em><\/p>\n\n\n\n<p>Determine el valor m\u00e1ximo de&nbsp;<strong>|f(x)|<\/strong>&nbsp; en los intervalos:<br>[1, 2] y [0.5, 1]. Siendo la funci\u00f3n:<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(x) = 5 \\cos(2x) - 2x \\sin(2x) <\/span>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"555\" height=\"437\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/05\/u01aprox_buscamax01.png\" alt=\"aproximaci\u00f3n num\u00e9rica m\u00e1ximo en un intervalo\" class=\"wp-image-13300\" \/><\/figure>\n\n\n\n<p>Se puede usar dos opciones para el desarrollo: la anal\u00edtica y la num\u00e9rica.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1.1 Desarrollo anal\u00edtico<\/h3>\n\n\n\n<p>Se determina la derivada de <strong>f(x)<\/strong> y se determina el valor de <strong>x<\/strong> cuando <strong>f'(x)<\/strong> toma el valor de cero.<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(x) = 5 \\cos(2x) - 2x \\sin(2x) <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f'(x) = 5 (- 2 \\sin(2x)) - [2x (2 \\cos(2x)) + 2 \\sin(2x) ] <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f'(x) = - 12 \\sin(2x) - 4x \\cos(2x) <\/span>\n\n\n\n<p><strong>f'(x)<\/strong> en el rango [1,2] toma el valor de cero en:<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> 0 = - 12 \\sin(2x) - 4x \\cos(2x) <\/span>\n\n\n\n<p>Situaci\u00f3n que requiere un poco de trabajo adicional para encontrar el punto buscado...<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1.2 Desarrollo num\u00e9rico con Python<\/h3>\n\n\n\n<p>Otra forma es determinar el valor usando un m\u00e9todo num\u00e9rico, cuya <strong><em>precisi\u00f3n<\/em><\/strong> depender\u00e1 de la cantidad de muestras discreta, o tama\u00f1o de paso, que se utilicen para la evaluaci\u00f3n.<\/p>\n\n\n\n<p>Una gr\u00e1fica permite estimar las intersecciones con los ejes y extremos de las funciones.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\nel m\u00e1ximo se encuentra en: 1.358\ncon el valor f(x) de: 5.67530054527\n<\/pre><\/div>\n\n\n<p>El valor m\u00e1ximo de |fx| en magnitud se cumple cuando la derivada es cero en un punto del intervalo.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Para observar la funci\u00f3n, se realiza la gr\u00e1fica en el intervalo [0.5, 2].<\/li>\n\n\n\n<li>El algoritmo base corresponde al usado para una gr\u00e1fica 2D, si no dispones de informaci\u00f3n previa, consulte el enlace: Gr\u00e1ficas 2D de l\u00ednea<\/li>\n\n\n\n<li>La funci\u00f3n fx se escribe en formato lambda por simplicidad. Si no tiene&nbsp; informaci\u00f3n previa sobre funciones num\u00e9ricas en formato lambda revise el enlace: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/mnumericos\/mn-recursos\/resumen-python-conceptos\/\">Funciones def-return vs lambda<\/a>.<\/li>\n\n\n\n<li>La precisi\u00f3n a usar es de mil tramos, o mil uno muestras en el intervalo [a,b], que es (2-0.5)\/1000 = 0.0015\u202c<\/li>\n\n\n\n<li>Se usa el algoritmo de b\u00fasqueda de posici\u00f3n del valor mayor en la funci\u00f3n valor absoluto \"fiabs\".<\/li>\n<\/ul>\n\n\n\n<p>Las instrucciones usadas en Python son:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Burden cap\u00edtulo 1.1-ejemplo 1 p6, pdf16\n# Determine el maximo entre &#x5B;a,b] para fx\nimport numpy as np\nimport matplotlib.pyplot as plt\n\n# INGRESO\nfx = lambda x: 5*np.cos(2*x)-2*x*np.sin(2*x)\na = 0.5\nb = 2\nmuestras = 1001\n\n# PROCEDIMIENTO\nxi = np.linspace(a,b,muestras)\nfi = fx(xi)\n\nfiabs = np.abs(fi)\ndonde = np.argmax(fiabs)\n\n# SALIDA\nprint('el m\u00e1ximo se encuentra en: ', xi&#x5B;donde])\nprint('con el valor f(x): ', fiabs&#x5B;donde])\n\n# GRAFICA\nplt.plot(xi,fi, label='f(x)')\nplt.plot(xi,fiabs, label='|f(x)|')\nplt.axhline(y=0, color='g')\nplt.xlabel('x')\nplt.ylabel('fx')\nplt.legend()\nplt.title('f(x) y |f(x)|')\nplt.show()\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">1.3 Funci\u00f3n en librer\u00eda Scipy.Optimize()<\/h3>\n\n\n\n<p>La librer\u00eda <strong>Scipy<\/strong> dispone de varios algoritmos de optimizaci\u00f3n que se desarrollar\u00e1n durante el curso.<\/p>\n\n\n\n<figure class=\"wp-block-image alignright size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"350\" height=\"233\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/05\/perrobusqueda.png\" alt=\"perro de b\u00fasqueda, indicando direcci\u00f3n\" class=\"wp-image-13303\" \/><figcaption class=\"wp-element-caption\">valor inicial de x0<\/figcaption><\/figure>\n\n\n\n<p>La comprensi\u00f3n de cada uno de ellos permite una aplicaci\u00f3n efectiva de los algoritmos para obtener el resultado buscado.<\/p>\n\n\n\n<p>Por ejemplo, usando la derivada de la funci\u00f3n y un punto de partida x<sub>0<\/sub> donde se supone, intuye o cercano donde se pretende obtener, se busca cu\u00e1ndo su valor es m\u00ednimo con la instrucci\u00f3n <code>fsolve()<\/code> se obtiene:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\n&#x5B; 1.35822987]\n&gt;&gt;&gt;\n<\/pre><\/div>\n\n\n<p>&nbsp;Las instrucciones del algoritmo son:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Burden cap\u00edtulo 1.1-ejemplo 1 p6, pdf16\n# Determine el maximo entre &#x5B;a,b] para fx\n# Encontrar el m\u00e1ximo cuando f'(x) pasa por cero\n\nimport numpy as np\nimport scipy.optimize as opt\n\n# INGRESO\nfx = lambda x: 5*np.cos(2*x)-2*x*np.sin(2*x)\ndfx = lambda x: -12*np.sin(2*x)-4*x*np.cos(2*x)\na = 0.5\nb = 2\nmuestras = 1001\nx0 = 1 # punto inicial de b\u00fasqueda\n\n# PROCEDIMIENTO\ndondemax  = opt.fsolve(dfx,x0)\n\n# SALIDA\nprint(dondemax)\n<\/pre><\/div>\n\n\n<p>compare con los resultados anteriores.<\/p>\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><em>Ejercicio<\/em>:<\/p>\n\n\n\n<p><a href=\"#ejercicio1\">M\u00e1ximo f(x)<\/a><\/p>\n\n\n\n<p><a href=\"#ejercicio2\">M\u00e1ximo f'(x)<\/a><a name=\"ejemplo1\"><\/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=\"ejercicio2\">2. Ejercicio - M\u00e1ximo en intervalo con f'(x)<\/h2>\n\n\n\n<p><em><strong>Referencia<\/strong>: Burden 7Ed Cap\u00edtulo 1.1 Ejercicio 3a p15, Burden 10Ed p6<\/em><\/p>\n\n\n\n<p>Demuestre que f'(x) se anula al menos una vez en el&nbsp; intervalo [0,1].<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(x) = 1 - e^{x} + (e-1)sen \\Big( \\frac{\\pi}{2}x \\Big) <\/span>\n\n\n\n<h3 class=\"wp-block-heading\">2.1 Desarrollo anal\u00edtico<\/h3>\n\n\n\n<p>Se usa el \"<em><strong>teorema de Rolle<\/strong><\/em>\", si los extremos del intervalo son iguales, existe un punto intermedio <em><strong>c<\/strong><\/em> en el que la derivada es cero, en donde la funci\u00f3n tiene un m\u00e1ximo.<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(0) = 1 - e^{0} + (e-1)sen(\\frac{\\pi}{2}0) = <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> = 1 - 1 + (e-1)(0) = 0<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(1) = 1 - e^{1} + (e-1)sen(\\frac{\\pi}{2}1) = <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> = 1 - e + (e-1)(1) = 0 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(0) = f(1) <\/span>\n\n\n\n<p>por el teorema, debe existir un m\u00e1ximo, o existe un <strong>c<\/strong> tal que f'(<strong>c<\/strong>)=0.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.2 Desarrollo num\u00e9rico y gr\u00e1fico con Python<\/h3>\n\n\n\n<p>Para encontrar el m\u00e1ximo, se eval\u00faa en los extremos, se aplica Rolle y como comprobaci\u00f3n se muestra la gr\u00e1fica.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\nPuntos en extremos de intervalo\n(xi,fi)\n0 0.0\n1 0.0\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"554\" height=\"416\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/05\/u01aprox_maximoenintervalo01.png\" alt=\"u01 aprox m\u00e1ximo en intervalo 01\" class=\"wp-image-13301\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Algoritmo en Python<\/h3>\n\n\n\n<p>Semejante al ejercicio anterior, el punto de partida es el algoritmo para gr\u00e1ficas 2D.<\/p>\n\n\n\n<p>Se plantea la funci\u00f3n en formato lambda, usando el intervalo con 50 tramos o 51 muestras<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Burden Cap\u00edtulo 1.1 Ejercicio 3a p15, pdf 25\nimport numpy as np\nimport matplotlib.pyplot as plt\n\n# INGRESO\nfx = lambda x: 1-np.exp(x)+(np.exp(1)-1)*np.sin((np.pi\/2)*x)\na = 0\nb = 1\nmuestras = 51\n\n# PROCEDIMIENTO\nfa = fx(a)\nfb = fx(b)\n\nxi = np.linspace(a,b,muestras)\nfi = fx(xi)\n\n# SALIDA\nprint('Puntos en extremos de intervalo')\nprint('&#x5B;xi,fi]')\nprint(a,fa)\nprint(b,fb)\n\n# GRAFICA\nplt.plot(xi,fi)\nplt.xlabel('x')\nplt.ylabel('f(x)')\nplt.axhline(0,color='g')\nplt.show()\n<\/pre><\/div>\n\n\n<p>A\u00f1ada las instrucciones para encontrar el punto donde f'(x) pasa por cero, que es donde existe el m\u00e1ximo. use como referencia el <a href=\"#ejercicio1\">ejercicio 1<\/a>.<\/p>\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><em>Ejercicio<\/em>:<\/p>\n\n\n\n<p><a href=\"#ejercicio1\">M\u00e1ximo f(x)<\/a><\/p>\n\n\n\n<p><a href=\"#ejercicio2\">M\u00e1ximo f'(x)<\/a><a name=\"ejemplo1\"><\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n","protected":false},"excerpt":{"rendered":"<p>Ejercicio: M\u00e1ximo f(x) M\u00e1ximo f'(x) 1. Ejercicio M\u00e1ximo en f(x) entre [a,b] Referencia: Burden 7Ed cap\u00edtulo 1.1-ejemplo 1 p6; Burden 10Ed&nbsp; p5 Determine el valor m\u00e1ximo de&nbsp;|f(x)|&nbsp; en los intervalos:[1, 2] y [0.5, 1]. Siendo la funci\u00f3n: Se puede usar dos opciones para el desarrollo: la anal\u00edtica y la num\u00e9rica. 1.1 Desarrollo anal\u00edtico Se determina [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"wp-custom-template-entrada-mn-unidades","format":"standard","meta":{"footnotes":""},"categories":[35],"tags":[],"class_list":["post-68","post","type-post","status-publish","format-standard","hentry","category-mn-u01"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/68","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=68"}],"version-history":[{"count":7,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/68\/revisions"}],"predecessor-version":[{"id":13717,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/68\/revisions\/13717"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=68"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=68"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=68"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}