{"id":1259,"date":"2017-11-07T11:40:23","date_gmt":"2017-11-07T16:40:23","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/matg1013\/?p=1259"},"modified":"2026-04-05T19:50:51","modified_gmt":"2026-04-06T00:50:51","slug":"s1eva2007tiii_t3-factorar-polinomio","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-s1eva10\/s1eva2007tiii_t3-factorar-polinomio\/","title":{"rendered":"s1Eva2007TIII_T3 Factorar polinomio"},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-1eva10\/1eva2007tiii_t3-factorar-polinomio\/\" data-type=\"post\" data-id=\"607\">1Eva2007TIII_T3 Factorar polinomio<\/a><\/p>\n\n\n\n<p>Para factorizar el polinomio:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> P_3(x) = 2 x^3 - 5 x^2 + 3 x - 0.1 <\/span>\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\/11\/1EIIIT2001T3FactorizarPolinomio01.png\" alt=\"1Eva2001TIII_T3 Factorizar Polinomio 01\" class=\"wp-image-21397\" \/><\/figure>\n\n\n\n<p>Se realiza la gr\u00e1fica para observar los intervalos de b\u00fasqueda de ra\u00edces.<\/p>\n\n\n\n<p>Para la soluci\u00f3n con Newton-Raphson se plantea f(x)=0<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> 2x^3-5x^2 + 3x - 0.1 = 0 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(x) = 2x^3-5x^2 + 3x - 0.1 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f'(x) =6x^2-10x + 3 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_{i+1} = x_i -\\frac{f(x_i)}{f'(x_i)} <\/span>\n\n\n\n<p>Para la primera ra\u00edz a la izquierda, se usa x0 = 0<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">itera = 0<\/h3>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(0) = 2(0)^3-5(0)^2 + 3(0) - 0.1 = - 0.1 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f'(0) =6(0)^2-10(0) + 3 = 3 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_{1} = 0 -\\frac{- 0.1}{3} = 0.03333<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> error = |0.03333 -0| = 0.03333<\/span>\n\n\n\n<h3 class=\"wp-block-heading\">itera = 1<\/h3>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(0.0333) = 2(0.0333)^3-5(0.0333)^2 + 3(0.0333) - 0.1 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> = -0.0054815 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f'(0.0333) =6(0.0333)^2-10(0.0333) + 3 = 2.6733 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_{2} = 0.0333 -\\frac{-0.0054815}{2.6733} = 0.035384 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> error = |0.035384 - 0.03333| = 0.0020504<\/span>\n\n\n\n<h3 class=\"wp-block-heading\">itera = 2<\/h3>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(0.035384) = 2(0.035384)^3-5(0.035384)^2 + 3(0.035384) - 0.1<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> = -0.000020163 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f'(0.035384) =6(0.035384)^2-10(0.035384) + 3 = 2.6537 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_{3} = 0.0333 -\\frac{-0.000020163}{2.6537} = 0.035391 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> error = |0.035391 - 0.035384| = 0.0000075982 <\/span>\n\n\n\n<p>como el error es del orden de 10<sup>-6<\/sup> que es menor que tolera de 10<sup>-5<\/sup> se considera la ra\u00edz encontrada.<\/p>\n\n\n\n<p>ra\u00edz en: 0.03539136103889022<\/p>\n\n\n\n<p>los resultados con el algoritmo son:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>i &#091;'xi', 'fi', 'dfi', 'xnuevo', 'tramo']\n0 &#091; 0.     -0.1     3.      0.0333  0.0333]\n1 &#091; 3.3333e-02 -5.4815e-03  2.6733e+00  3.5384e-02  2.0504e-03]\n2 &#091; 3.5384e-02 -2.0163e-05  2.6537e+00  3.5391e-02  7.5982e-06]\nra\u00edz en:  0.03539136103889022<\/code><\/pre>\n\n\n\n<p>para ra\u00edz cerca de 1<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>i &#091;'xi', 'fi', 'dfi', 'xnuevo', 'tramo']\n0 &#091; 1.  -0.1 -1.   0.9  0.1]\n1 &#091; 0.9    0.008 -1.14   0.907  0.007]\n2 &#091; 9.0702e-01  2.0390e-05 -1.1341e+00  9.0704e-01  1.7979e-05]\nra\u00edz en:  0.9070355226186211<\/code><\/pre>\n\n\n\n<p>para ra\u00edz cercana a 1.5<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>i &#091;'xi', 'fi', 'dfi', 'xnuevo', 'tramo']\n0 &#091; 1.5    -0.1     1.5     1.5667  0.0667]\n1 &#091;1.5667 0.0184 2.06   1.5577 0.0089]\n2 &#091;1.5577e+00 3.4849e-04 1.9820e+00 1.5576e+00 1.7583e-04]\n3 &#091;1.5576e+00 1.3436e-07 1.9805e+00 1.5576e+00 6.7843e-08]\nra\u00edz en:  1.557573116112315<\/code><\/pre>\n\n\n\n<p>Algoritmo en Python<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# 1Eva2007TIII_T3 Factorar polinomio\n# Tema 3. Factorar polinomio\nimport numpy as np\n \ndef newton_raphson(fx,dfx,x0, tolera, iteramax=100,\n                   vertabla=False, precision=4):\n    '''fx y dfx en forma num\u00e9rica lambda\n    xi es el punto inicial de b\u00fasqueda\n    si no converge hasta iteramax iteraciones\n    la respuesta es NaN (Not a Number)\n    '''\n    itera=0\n    xi = x0\n    tramo = abs(2*tolera)\n    if vertabla==True:\n        print('m\u00e9todo de Newton-Raphson')\n        print('i', &#x5B;'xi','fi','dfi', 'xnuevo', 'tramo'])\n        np.set_printoptions(precision)\n    while (tramo&gt;=tolera):\n        fi = fx(xi)\n        dfi = dfx(xi)\n        xnuevo = xi - fi\/dfi\n        tramo = abs(xnuevo-xi)\n        if vertabla==True:\n            print(itera,np.array(&#x5B;xi,fi,dfi,xnuevo,tramo]))\n        xi = xnuevo\n        itera = itera + 1\n \n    if itera&gt;=iteramax:\n        xi = np.nan\n        print('itera: ',itera,\n              'No converge,se alcanz\u00f3 el m\u00e1ximo de iteraciones')\n \n    return(xi)\n \n# Literal a)\nfx = lambda x: 2*x**3 - 5*x**2 + 3*x -0.1\ndfx = lambda x: 6*x**2 - 10*x +3\n# Literal b)\n#fx =  lambda x: (2*x**3 - 5*x**2 + 3*x -0.1)\/(x-0.03539136103889022)\n#dfx = lambda x: (6*x**2 - 10*x + 3)\/(x - 0.0353913610388902) - (2*x**3 - 5*x**2 + 3*x - 0.1)\/(x - 0.0353913610388902)**2\n \nx0 = 0\ntolera = 0.0001\n \n# PROCEDIMIENTO\nxi = newton_raphson(fx,dfx,x0, tolera, vertabla=True)\n \n# SALIDA\nprint('ra\u00edz en: ', xi)\n \n# simplificando el polinomio\nimport sympy as sym\nx = sym.Symbol('x')\np = 2*x**3 - 5*x**2 + 3*x -0.1\nQ2 = p\/(x-xi)\ndQ2 = sym.diff(Q2,x,1)\nprint('Q2')\nprint(Q2)\nprint('dQ2')\nprint(dQ2)\n \n# GRAFICA\nimport matplotlib.pyplot as plt\na = 0\nb = 2\nmuestras = 21\n\nxj = np.linspace(a,b,muestras)\nfj = fx(xj)\nplt.plot(xj,fj, label='f(x)')\nplt.plot(xi,0, 'o')\nplt.axhline(0)\nplt.xlabel('x')\nplt.ylabel('f(x)')\nplt.grid()\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\">literal b<\/h2>\n\n\n\n<p>Obtenga el polinomio <em>cociente <\/em><strong>Q<\/strong><sub>2<\/sub>(x), a partir de<strong> P<\/strong><sub>3<\/sub>(x) = (x \u2013 r<sub>1<\/sub>)<strong>Q<\/strong><sub>2<\/sub>(x)<\/p>\n\n\n\n<p>Se simplifica el polinomio realizando la divisi\u00f3n:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> Q_2(x) = \\frac{2 x^3 - 5 x^2 + 3 x - 0.1}{x-0.03539136103889022} <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> Q'_2(x) = \\frac{ 6 x^2 - 10 x + 3}{x - 0.0353913610388902} - \\frac{2 x^3 - 5 x^2 + 3 x - 0.1}{(x - 0.0353913610388902)^2} <\/span>\n\n\n\n<p>Se reutiliza el algoritmo usando las nuevas expresiones<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; gutter: false; title: ; notranslate\" title=\"\">\n# Literal b)\n# PROCEDIMIENTO\nfx =  lambda x: (2*x**3 - 5*x**2 + 3*x -0.1)\/(x-raiz1)\ndfx = lambda x: (6*x**2 - 10*x + 3)\/(x - 0.0353913610388902) - (2*x**3 - 5*x**2 + 3*x - 0.1)\/(x - 0.0353913610388902)**2\n<\/pre><\/div>\n\n\n<p>la derivada se puede obtener usando la librer\u00eda Sympy, con las instrucciones:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; gutter: false; title: ; notranslate\" title=\"\">\n# simplificando el polinomio\nimport sympy as sym\nx = sym.Symbol('x')\np = 2*x**3 - 5*x**2 + 3*x -0.1\nQ2 = p\/(x-xi)\ndQ2 = sym.diff(Q2,x,1)\nprint('Q2')\nprint(Q2)\nprint('dQ2')\nprint(dQ2)\n<\/pre><\/div>\n\n\n<p>Usando los resultados de Q2(x) y actualizando las expresiones para f(x) y f'(x) se obtienen los siguientes resultados, que verifican las ra\u00edces encontradas en el literal a.<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>i &#091;'xi', 'fi', 'dfi', 'xnuevo', 'tramo']\n0 &#091; 0.      2.8255 -4.9292  0.5732  0.5732]\n1 &#091; 0.5732  0.6572 -2.6363  0.8225  0.2493]\n2 &#091; 0.8225  0.1243 -1.6392  0.8983  0.0758]\n3 &#091; 0.8983  0.0115 -1.336   0.9069  0.0086]\n4 &#091; 9.0692e-01  1.4809e-04 -1.3015e+00  9.0704e-01  1.1379e-04]\n5 &#091; 9.0704e-01  2.5894e-08 -1.3011e+00  9.0704e-01  1.9902e-08]\nra\u00edz en:  0.9070355227446406\n<\/code><\/pre>\n\n\n\n<p>La gr\u00e1fica obtenida para Q2(x) es:<\/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\/11\/1EIIIT2001T3FactorizarPolinomio02.png\" alt=\"1E2001TIII_T3 Factorizar Polinomio 02\" class=\"wp-image-21399\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">literal c<\/h2>\n\n\n\n<p>La otra ra\u00edz cercana a 1.5 se calcula a partir de Q2(x) usando el algoritmo.<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>i &#091;'xi', 'fi', 'dfi', 'xnuevo', 'tramo']\n0 &#091; 1.5    -0.0683  1.0708  1.5638  0.0638]\n1 &#091;1.5638 0.0081 1.3258 1.5576 0.0061]\n2 &#091;1.5576e+00 7.5234e-05 1.3013e+00 1.5576e+00 5.7814e-05]\nra\u00edz en:  1.5575731212503858<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">literal d<\/h2>\n\n\n\n<p>El polinomio:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> P_3(x) = 2 x^3 - 5 x^2 + 3 x - 0.1 <\/span>\n\n\n\n<p>se expresa tambi\u00e9n formado como parte de sus ra\u00edces:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> P_3(x) = (x - 0.0353913)(x - 0.907035 )(x -1.557573 ) <\/span>\n","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 1Eva2007TIII_T3 Factorar polinomio Para factorizar el polinomio: Se realiza la gr\u00e1fica para observar los intervalos de b\u00fasqueda de ra\u00edces. Para la soluci\u00f3n con Newton-Raphson se plantea f(x)=0 Para la primera ra\u00edz a la izquierda, se usa x0 = 0 itera = 0 itera = 1 itera = 2 como el error es del orden [&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-1259","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\/1259","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=1259"}],"version-history":[{"count":7,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1259\/revisions"}],"predecessor-version":[{"id":23806,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1259\/revisions\/23806"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=1259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=1259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=1259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}