{"id":1280,"date":"2017-11-07T09:10:51","date_gmt":"2017-11-07T14:10:51","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/matg1013\/?p=1280"},"modified":"2026-04-05T19:52:26","modified_gmt":"2026-04-06T00:52:26","slug":"s1eva2007tii_t3-interpolacion-inversa","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-s1eva10\/s1eva2007tii_t3-interpolacion-inversa\/","title":{"rendered":"s1Eva2007TII_T3 Interpolaci\u00f3n inversa, encontrar xi para fi dado"},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-1eva10\/1eva2007tii_t3-interpolacion-inversa\/\" data-type=\"post\" data-id=\"493\">1Eva2007TII_T3 Interpolaci\u00f3n inversa<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image alignright size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"565\" height=\"425\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/11\/s1EIIT2007T3_AN_a.png\" alt=\"s1EIIT2007T3_AN_a\" class=\"wp-image-14046\" \/><\/figure>\n\n\n\n<p>Para determinar el valor de <strong>x<\/strong>, usando interpolaci\u00f3n inversa.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>f(0.50) = 1.648\nf(0.65) = 1.915\nf( <strong><span style=\"color: #ff0000\">x<\/span><\/strong>  ) = 2.117\nf(0.80) = 2.225\nf(0.95) = 2.5857<\/code><\/pre>\n\n\n\n<p>Para el algoritmo se intercambian las variables previo a usarlo.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>fi = &#091;0.50 , 0.65 , 0.80,  0.95   ]\nxi = &#091;1.648, 1.915, 2.225, 2.5857 ]<\/code><\/pre>\n\n\n\n<p>Luego se eval\u00faa en el punto buscado, en \u00e9ste caso: fi=2.117, obteniendo que <strong>x<\/strong> es: 0.750321134121361<\/p>\n\n\n\n<p>Para obtener el polinomio se usa el m\u00e9todo de Lagrange:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">t\u00e9rmino 1<\/h4>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> L_{0} (x) = \\frac{(x-1.915)(x-2.225)(x-2.5857)}{(1.648-1.915)(1.648-2.225)(1.648-2.5857)}<\/span>\n\n\n\n<h4 class=\"wp-block-heading\">t\u00e9rmino 2<\/h4>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> L_{1} (x) = \\frac{(x-1.648)(x-2.225)(x-2.5857)}{(1.915-1.648)(1.915-2.225)(1.915-2.5857)}<\/span>\n\n\n\n<h4 class=\"wp-block-heading\">t\u00e9rmino 3<\/h4>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> L_{2} (x) = \\frac{(x-1.648)(x-1.915)(x-2.5857)}{(2.225-1.648)(2.225-1.915)(2.225-2.5857)}<\/span>\n\n\n\n<h4 class=\"wp-block-heading\">t\u00e9rmino 4<\/h4>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> L_{3} (x) = \\frac{(x-1.648)(x-1.915)(x-2.225)}{(2.5857-1.648)(2.5857-1.915)(2.5857-2.225)}<\/span>\n\n\n\n<p>se construye el polinomio usando la f\u00f3rmula para f<sub>n<\/sub>(x) para cada valor fi,<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> p_3(x) = 0.5 L_{0} (x) + 0.65 L_{1} (x) + 0.8 L_{2} (x) + 0.95 L_{3} (x)<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> p_3(x) = 0.5 \\frac{(x-1.915)(x-2.225)(x-2.5857)}{-0.14446112} + <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> +0.65 \\frac{(x-1.648)(x-2.225)(x-2.5857)}{0.05551384 } + <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> + 0.8 \\frac{(x-1.648)(x-1.915)(x-2.5857)}{-0.06451841} + <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> +0.95 \\frac{(x-1.648)(x-1.915)(x-2.225)}{0.22684978} <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> p_3(x) = 0.03588 x^3 - 0.34275 x^2 + 1.44073 x - 1.10404 <\/span>\n\n\n\n<p>A partir del resultado del algoritmo se puede evaluar p(2.117)<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>    valores de fi:  &#091;0.5  0.65 0.8  0.95]\ndivisores en L(i):  &#091;-0.14446112  0.05551384 -0.06451841  0.22684978]\n\nPolinomio de Lagrange, expresiones\n-3.46113878334255*(x - 2.5857)*(x - 2.225)*(x - 1.915) \n+ 11.7087921085767*(x - 2.5857)*(x - 2.225)*(x - 1.648) \n- 12.3995618056856*(x - 2.5857)*(x - 1.915)*(x - 1.648) \n+ 4.18779332775953*(x - 2.225)*(x - 1.915)*(x - 1.648)\n\nPolinomio de Lagrange: \n0.0358848473081546*x**3 - 0.342756582990933*x**2 \n+ 1.44073214117569*x - 1.10404634485234\n&gt;&gt;&gt; polisimple.subs(x,2.117)\n0.750321134121178\n&gt;&gt;&gt; polisimple\n0.0358848473081546*x**3 - 0.342756582990933*x**2 \n+ 1.44073214117569*x - 1.10404634485234\n&gt;&gt;&gt; <\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Algoritmo en Python<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# 1Eva2007TII_T3 Interpolaci\u00f3n inversa, encontrar xi para fi dado\n# Interpolacion de Lagrange\n# divisoresL solo para mostrar valores denominador\nimport numpy as np\nimport sympy as sym\n \n# INGRESO , Datos de prueba\nfi = &#x5B;0.50 , 0.65 , 0.80,  0.95   ]\nxi = &#x5B;1.648, 1.915, 2.225, 2.5857 ]\n \n# PROCEDIMIENTO\n# Vectores como arreglo, numeros reales\nxi = np.array(xi,dtype=float)\nfi = np.array(fi,dtype=float)\nn = len(xi)\n \n# Polinomio de Lagrange\nx = sym.Symbol('x')\npolinomio = 0*x   # sym.S.Zero en Sympy\ndivisorL = np.zeros(n, dtype = float)\nfor i in range(0,n,1):\n     \n    # Termino de Lagrange\n    numerador = 1\n    denominador = 1\n    for j  in range(0,n,1):\n        if (j!=i):\n            numerador = numerador*(x-xi&#x5B;j])\n            denominador = denominador*(xi&#x5B;i]-xi&#x5B;j])\n    terminoLi = numerador\/denominador\n \n    polinomio = polinomio + terminoLi*fi&#x5B;i]\n    divisorL&#x5B;i] = denominador\n \npolisimple = polinomio.expand() # simplifica los (x-xi)\npx = sym.lambdify(x,polisimple) # evaluaci\u00f3n num\u00e9rica\n \n# SALIDA\nprint('    valores de fi: ',fi)\nprint('divisores en L&#x5B;i]: ',divisorL)\nprint()\nprint('Polinomio de Lagrange, expresiones')\n#print(polinomio)\nterminos = sym.Add.make_args(polinomio)\nn_term = len(terminos)\nfor i in range(0,n_term,1):\n    if i&lt;(n_term-1):\n        print(terminos&#x5B;i],'+')\n    else:\n        print(terminos&#x5B;i])\nprint()\nprint('Polinomio de Lagrange: ')\nprint(polisimple)\nprint()\nsym.pprint(polisimple)\n<\/pre><\/div>\n\n\n<p>para revisar con la gr\u00e1fica, se a\u00f1aden las l\u00edneas,<\/p>\n\n\n\n<p>Observe que para la gr\u00e1fica en \u00e9ste caso particular se han invertido los ejes.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Gr\u00e1fica --------------\nimport matplotlib.pyplot as plt\nmuestras = 21   # resoluci\u00f3n gr\u00e1fica\n \na = np.min(xi)  # intervalo &#x5B;a,b]\nb = np.max(xi)\nxk = np.linspace(a,b,muestras)\nyk = px(xk)\n \nplt.plot(fi,xi,'o', label = '&#x5B;xi,fi]')\nplt.plot(yk,xk, label = 'p(x)')\nplt.axhline(2.117,linestyle='dashed',\n            label='f(x)=2.117', color='green')\nplt.legend()\nplt.xlabel('xi')\nplt.ylabel('fi')\nplt.title('Interpolaci\u00f3n Lagrange')\nplt.show()\n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 1Eva2007TII_T3 Interpolaci\u00f3n inversa Para determinar el valor de x, usando interpolaci\u00f3n inversa. Para el algoritmo se intercambian las variables previo a usarlo. Luego se eval\u00faa en el punto buscado, en \u00e9ste caso: fi=2.117, obteniendo que x es: 0.750321134121361 Para obtener el polinomio se usa el m\u00e9todo de Lagrange: t\u00e9rmino 1 t\u00e9rmino 2 t\u00e9rmino 3 [&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-1280","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\/1280","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=1280"}],"version-history":[{"count":5,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1280\/revisions"}],"predecessor-version":[{"id":23809,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1280\/revisions\/23809"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=1280"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=1280"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=1280"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}