{"id":6220,"date":"2020-06-05T07:15:23","date_gmt":"2020-06-05T12:15:23","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/analisisnumerico\/?p=6220"},"modified":"2026-04-05T19:45:42","modified_gmt":"2026-04-06T00:45:42","slug":"s1eva2010tii_t1-aproximar-con-polinomio","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-s1eva10\/s1eva2010tii_t1-aproximar-con-polinomio\/","title":{"rendered":"s1Eva2010TII_T1 Aproximar f(x) con polinomio"},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-1eva10\/1eva2010tii_t1-aproximar-con-polinomio\/\" data-type=\"post\" data-id=\"759\">1Eva2010TII_T1 Aproximar f(x) con polinomio<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Desarrollo Anal\u00edtico<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Opci\u00f3n 1. Usando el polinomio de Taylor<\/h3>\n\n\n\n<p>Usando <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-unidades\/mn-u01\/taylor-polinomio\/\" data-type=\"post\" data-id=\"94\">Unidad 1 Polinomio de Taylor<\/a>, supondremos que:&nbsp; x0=0<\/p>\n\n\n\n<p>El polinomio de Taylor requerido es de: grado 2<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> P_{n}(x) = f(x_0)+\\frac{f'(x_0)}{1!} (x-x_0) +<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> + \\frac{f''(x_0)}{2!}(x-x_0)^2 + <\/span>\n\n\n\n<p>Se escribe la funci\u00f3n f(x) y sus derivadas para el polinomio:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(x) = e^x \\cos (x) +1 <\/span>\n\n\n\n<p>primera derivada<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f'(x) = e^x \\cos (x) - e^x \\sin(x) <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f'(x) = e^x (\\cos (x) - \\sin(x)) <\/span>\n\n\n\n<p>segunda derivada<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f''(x) = e^x( \\cos (x) - \\sin(x))+ <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">+ e^x (-\\sin(x) - \\cos(x)) <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f''(x) = -2 e^x \\sin(x)) <\/span>\n\n\n\n<p>Punto de referencia x0 = 0, tomado como ejemplo dentro del intervalo.<\/p>\n\n\n\n<p><em><strong>Observaci\u00f3n<\/strong><\/em>: escriba las expresiones, reemplazando los valores. Un criterio de evaluaci\u00f3n es que, si en la lecci\u00f3n o examen <strong>no tuvo tiempo<\/strong> para usar la calculadora, se puede evaluar si realizaba las operaciones con el punto de referencia y expresiones correctas.<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(0) = e^0 \\cos (0) +1 = 2<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f'(0) = e^0(\\cos (0) - \\sin(0)) = 1 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f''(0) = -2 e^0 \\sin(0)) = 0<\/span>\n\n\n\n<p>Sustituci\u00f3n en el polinomio de Taylor planteado:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> p_2(x) = f(x_0) + \\frac{f'(x_0)}{1!}(x-x_0) + \\frac{f''(x_0)}{2!}(x-x_0)^2 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> P_{2}(x) = 2+\\frac{1}{1} (x-0) +<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> + \\frac{0}{2}(x-0)^2 + <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> P_{2}(x) = 2+ x <\/span>\n\n\n\n<p>El error referenciado a los otros puntos ser\u00e1:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> errado = |f(x)-p(x)| <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> errado = \\Big|\\Big( e^x \\cos (x) +1 \\Big) - (2+ x)\\Big| <\/span>\n\n\n\n<p>usando un punto diferente a x0=0, como x = \u03c0\/2<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> errado = \\Big| \\Big( e^{\\frac{\\pi}{2}}\\cos \\Big( \\frac{\\pi}{2} \\Big) +1 \\Big) - \\Big(2+ \\frac{\\pi}{2}\\Big) \\Big| <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> errado = | 1 - 3.5707| = 2.5707 <\/span>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p><strong>Tarea<\/strong>: calcular el error,&nbsp; para x = \u03c0, verificando que pase por los puntos requeridos.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Opci\u00f3n 2. Usando el polinomio de interpolaci\u00f3n<\/h2>\n\n\n\n<p>Siguiendo la unidad 4 para interpolaci\u00f3n, el polinomio requerido tiene la forma:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> p(x) = a + bx + cx^2<\/span>\n\n\n\n<p>por lo que conociendo los pares ordenados por donde debe pasar se puede plantear las ecuaciones y encontrar a,b,c.<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(0) = e^0 \\cos (0) +1 = 2<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(\\pi\/2) = e^{\\pi\/2} \\cos (\\pi \/2) +1 = 1(0)+1 =1 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(\\pi) = e^{\\pi} \\cos (\\pi) +1 = e^{\\pi} +1 <\/span>\n\n\n\n<p>se encuentra que a = 2 cuando x = 0 y que reemplazando los valores de x =\u03c0\/2 y x=\u03c0 se tiene:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>2 + (\u03c0\/2) b + (\u03c0\/2)<sup>2<\/sup> c = 1\n2 +    \u03c0  b +   (\u03c0)<sup>2<\/sup> c = e<sup>\u03c0<\/sup> +1<\/code><\/pre>\n\n\n\n<p>que se convierte en:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>(\u03c0\/2) b + (\u03c0\/2)<sup>2<\/sup> c = -1\n   \u03c0  b +   (\u03c0)<sup>2<\/sup> c = -(e<sup>\u03c0<\/sup> +1)<\/code><\/pre>\n\n\n\n<p>al multiplicar la primera ecuaci\u00f3n por 2 y restando de la segunda<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>- \u03c0<sup>2<\/sup>\/2 c = e<sup>\u03c0<\/sup> -1\nc = (-2\/\u03c0<sup>2<\/sup>)(e<sup>\u03c0<\/sup> -1)<\/code><\/pre>\n\n\n\n<p>y sustituir c en la segunda ecuaci\u00f3n:<\/p>\n\n\n\n<p>\u03c0 b + (\u03c0)<sup>2<\/sup> (-2\/\u03c0<sup>2<\/sup>)(e<sup>\u03c0<\/sup> -1) = -(e<sup>\u03c0<\/sup> +1)<br>\u03c0 b = -(e<sup>\u03c0<\/sup> +1) + 2(e<sup>\u03c0<\/sup> -1) = -e<sup>\u03c0<\/sup> -1 + 2e<sup>\u03c0<\/sup> -2<br>b = (e<sup>\u03c0<\/sup> -3)\/\u03c0<\/p>\n\n\n\n<p>El polinomio resultante es:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> p(x) = 2 + \\frac{e^{\\pi}-3}{\\pi}x + \\frac{-1(e^{\\pi}-1)}{\\pi ^2}x^2<\/span>\n\n\n\n<p>Probando respuesta con los valores en la funci\u00f3n y polinomio usando Python, se encuentra que el polinomio pasa por los puntos. <\/p>\n\n\n\n<p>Al observar la gr\u00e1fica observa que se cumple lo requerido pero visualiza el error de aproximaci\u00f3n usando el m\u00e9todo de la opci\u00f3n 2.<\/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\/2020\/06\/s1Eva_IIT2010_T1_AN_Taylor01.png\" alt=\"s1Eva_IIT2010_T1_AN Taylor 01\" class=\"wp-image-18724\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Algoritmo con Python<\/h2>\n\n\n\n<p>Algoritmo desarrollado en clase, usado como taller, modificado para el problema planteado.<\/p>\n\n\n\n<p><em>Observaci\u00f3n<\/em>: Se reordena el algoritmo para mantener ordenados y separados los bloques de ingreso, procedimiento y salida. As\u00ed los bloques pueden ser convertidos f\u00e1cilmente a funciones algor\u00edtmicas <code>def-return<\/code>.<\/p>\n\n\n\n<p>Observe que la variable <em><strong>n<\/strong><\/em> se interprete correctamente como \"t\u00e9rminos\" o \"grados\" del polinomio de Taylor.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Aproximaci\u00f3n Polinomio de Taylor alrededor de x0\n# f(x) en forma simb\u00f3lica con sympy\nimport numpy as np\nimport math\nimport sympy as sym\nimport matplotlib.pyplot as plt\n\n# INGRESO --------------------\nx = sym.Symbol('x')\nfx = sym.exp(x)*sym.cos(x) + 1\n\nx0 = 0\nn  = 3 # grado de polinomio\n\n# Intervalo para Gr\u00e1fica\na = 0\nb = np.pi\nmuestras = 21\n\n# PROCEDIMIENTO  -------------\n# construye polinomio Taylor\nk = 0 # contador de t\u00e9rminos\npolinomio = 0\nwhile (k &lt;= n):\n    derivada   = fx.diff(x,k)\n    derivadax0 = derivada.subs(x,x0)\n    divisor   = math.factorial(k)\n    terminok  = (derivadax0\/divisor)*(x-x0)**k\n    polinomio = polinomio + terminok\n    k = k + 1\n\n# forma lambda para evaluaci\u00f3n num\u00e9rica\nfxn = sym.lambdify(x,fx,'numpy')\npxn = sym.lambdify(x,polinomio,'numpy')\n\n# evaluar en intervalo para gr\u00e1fica\nxi = np.linspace(a,b,muestras)\nfxi = fxn(xi)\npxi = pxn(xi)\n\n# SALIDA  --------------------\nprint('polinomio p(x)=')\nprint(polinomio)\nprint()\nsym.pprint(polinomio)\n\n# Gr\u00e1fica\nplt.plot(xi,fxi,label='f(x)')\nplt.plot(xi,pxi,label='p(x)')\n# franja de error\nplt.fill_between(xi,pxi,fxi,color='yellow')\nplt.xlabel('xi')\nplt.axvline(x0,color='green', label='x0')\nplt.axhline(0,color='grey')\nplt.title('Polinomio Taylor: f(x) vs p(x)')\nplt.legend()\nplt.show()\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Resultado del algoritmo<\/h2>\n\n\n\n<p>Revisar si el polinomio es concordante con lo realizado a l\u00e1piz y papel, de no ser as\u00ed revisar el algoritmo o los pasos realizados en papel, deben ser iguales.<br>Comprobando que el algoritmo est\u00e9 correcto y pueda ser usado en otros ejercicios.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>polinomio p(x)=\n-x**3\/3 + x + 2\n\n   3        \n  x         \n- -- + x + 2\n  3         <\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Resultados gr\u00e1ficos para x0=0<\/h2>\n\n\n\n<p>Continuar con el ejercicio con x0 = \u03c0 y luego con el siguiente punto x0 = \u03c0\/2.<\/p>\n\n\n\n<p>Comparar resultados y presentar: Observaciones&nbsp; y recomendaciones semejantes a las indicadas durante el desarrollo de la clase.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"642\" height=\"480\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2020\/06\/TaylorTarea01.png\" alt=\"Taylor Tarea 01\" class=\"wp-image-18725\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 1Eva2010TII_T1 Aproximar f(x) con polinomio Desarrollo Anal\u00edtico Opci\u00f3n 1. Usando el polinomio de Taylor Usando Unidad 1 Polinomio de Taylor, supondremos que:&nbsp; x0=0 El polinomio de Taylor requerido es de: grado 2 Se escribe la funci\u00f3n f(x) y sus derivadas para el polinomio: primera derivada segunda derivada Punto de referencia x0 = 0, tomado [&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":[44],"tags":[58,54],"class_list":["post-6220","post","type-post","status-publish","format-standard","hentry","category-mn-s1eva10","tag-ejemplos-python","tag-mnumericos"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/6220","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=6220"}],"version-history":[{"count":4,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/6220\/revisions"}],"predecessor-version":[{"id":23813,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/6220\/revisions\/23813"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=6220"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=6220"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=6220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}