{"id":1161,"date":"2017-05-28T09:25:51","date_gmt":"2017-05-28T14:25:51","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/matg1013\/?p=1161"},"modified":"2026-04-18T12:03:24","modified_gmt":"2026-04-18T17:03:24","slug":"metodo-newton-raphson","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-u02\/metodo-newton-raphson\/","title":{"rendered":"2.4 M\u00e9todo de Newton-Raphson"},"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><a href=\"#concepto\">Newton-Raphson<\/a><\/p>\n\n\n\n<p><a href=\"#ejercicio\">Ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#analitico\">Anal\u00edtico<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">Algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#funcion\">funci\u00f3n<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p class=\"has-medium-font-size\"><a href=\"#libreria\">librer\u00eda<\/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=\"concepto\">1. M\u00e9todo de Newton-Raphson - \u00bfqu\u00e9 es?<\/h2>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: Burden 2.3 p49, Chapra 6.2 p148, Rodr\u00edguez 3.3 p52<\/p>\n\n\n\n<p>Se deduce a partir de la interpretaci\u00f3n gr\u00e1fica o por medio del uso de la serie de Taylor de dos t\u00e9rminos.<\/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\/05\/newtonraphson_animado.gif\" alt=\"M\u00e9todo de Newton-Raphson gr\u00e1fico animado\" class=\"wp-image-13339\" \/><\/figure>\n\n\n\n<p>De la gr\u00e1fica, se usa el tri\u00e1ngulo formado por la recta tangente que pasa por f(x<sub>i<\/sub>), con pendiente f'(x<sub>i<\/sub>)&nbsp; y el eje x.<\/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\/05\/newtonraphsonconcepto_animado.gif\" alt=\"m\u00e9todo de Newton-Raphson concepto gr\u00e1fico animado\" class=\"wp-image-13340\" \/><\/figure>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f'(x_i) = \\frac{f(x_i) - 0}{x_i - x_{i+1}} <\/span>\n\n\n\n<p>El punto x<sub>i+1<\/sub> es la intersecci\u00f3n de la recta tangente con el eje x, que es m\u00e1s cercano a la ra\u00edz de f(x), valor que es usado para la pr\u00f3xima iteraci\u00f3n.<\/p>\n\n\n\n<p>Reordenando la ecuaci\u00f3n de determina la f\u00f3rmula para el siguiente punto:<\/p>\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>El error se determina como la diferencia entre los valores sucesivos encontrados |x<sub>i+1<\/sub> - x<sub>i<\/sub>|<\/p>\n\n\n\n<p>La gr\u00e1fica animada muestra el proceso aplicado varias veces sobre f(x) para encontrar la ra\u00edz.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">1.1 Recta Tangente para la gr\u00e1fica<\/h3>\n\n\n\n<p>Si se quiere dibujar la recta tangente en el punto inicial, la ecuaci\u00f3n de la recta se obtiene usando: el valor de la pendiente con la derivada f'(x) y cambiando la constante <code>b<\/code> por <code>b<sub>0<\/sub><\/code> para no confundirla con la <code>b<\/code> del intervalo [a,b]<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y = mx + b <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y = f'(x) x + b_0 <\/span>\n\n\n\n<p>Es necesario disponer de un punto conocido de la recta (x<sub>0<\/sub>,f(x<sub>0<\/sub>)) y la pendiente en ese punto f'(x<sub>0<\/sub>), quedando solo el t\u00e9rmino de la constante como inc\u00f3gnita .<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(x_0) = f'(x_0) x_0 + b_0 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(x_0) - f'(x_0) x_0 = b_0 <\/span>\n\n\n\n<p>La funci\u00f3n recta tangente se expresa para la gr\u00e1fica como:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> b_0 = f(x_0) - f'(x_0) x_0 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> rtg(x)= f'(x_0) x + b_0 <\/span>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Tarea<\/h3>\n\n\n\n<p>Use la serie de Taylor hasta la primera derivada para encontrar el siguiente punto de aproximaci\u00f3n x<sub>i+1<\/sub><\/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><a href=\"#concepto\">Newton-Raphson<\/a><\/p>\n\n\n\n<p><a href=\"#ejercicio\">Ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#analitico\">Anal\u00edtico<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">Algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#funcion\">funci\u00f3n<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p class=\"has-medium-font-size\"><a href=\"#libreria\">librer\u00eda<\/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=\"ejercicio\">2. Ejercicio<\/h2>\n\n\n\n<p><strong><em>Referencia<\/em>:&nbsp;<\/strong>Burden 2.1 ejemplo 1 p38<\/p>\n\n\n\n<p>La ecuaci\u00f3n mostrada tiene una ra\u00edz en [1,2], ya que f(1)=-5 y f(2)=14.<\/p>\n\n\n\n<p>Muestre los resultados parciales del algoritmo de Newton-Raphson con una tolerancia de 0.0001<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(x) = x^3 + 4x^2 -10 =0 <\/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\/05\/newtonraphson_animado.gif\" alt=\"M\u00e9todo de Newton-Raphson gr\u00e1fico animado\" class=\"wp-image-13339\" \/><\/figure>\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><a href=\"#concepto\">Newton-Raphson<\/a><\/p>\n\n\n\n<p><a href=\"#ejercicio\">Ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#analitico\">Anal\u00edtico<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">Algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#funcion\">funci\u00f3n<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p class=\"has-medium-font-size\"><a href=\"#libreria\">librer\u00eda<\/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=\"analitico\">3. Desarrollo Anal\u00edtico - ejemplo paso a paso<\/h2>\n\n\n\n<p>El m\u00e9todo requiere&nbsp; obtener la derivada f'(x) de la ecuaci\u00f3n para el factor del denominador.<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">f(x) = x^3 + 4x^2 -10<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">f'(x) = 3x^2 + 8x <\/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 el desarrollo se inicia la b\u00fasqueda desde un punto en el intervalo [1,2], por ejemplo el extremo derecho, x<sub>1<\/sub>=2.<\/p>\n\n\n\n<p><em>iteraci\u00f3n 1<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image alignright size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/05\/newtonRaphson_itera0.gif\" alt=\"M\u00e9todo de Newton-Raphson para itera=0 gr\u00e1fica\" class=\"wp-image-22834\" style=\"width:350px\" \/><\/figure>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">f(2) = (2)^3 + 4(2)^2 -10 = 14 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">f'(2) = 3(2)^2 + 8(2) = 28<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_{2} = 2 -\\frac{14}{28} = 1.5 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> tramo = |2 -1.5| = 0.5 <\/span>\n\n\n\n<p><em>iteraci\u00f3n 2<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image alignright size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/05\/newtonRaphson_itera1.gif\" alt=\"M\u00e9todo de Newton-Raphson para itera=1 gr\u00e1fica\" class=\"wp-image-22835\" style=\"width:350px\" \/><\/figure>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">f(1.5) = (1.5)^3 + 4(1.5)^2 -10<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> = 2.375 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">f'(1.5) = 3(1.5)^2 + 8(1.5) <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">= 18.75 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_{3} = 1.5 -\\frac{2.375}{18.75} = 1.3733 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> tramo = |1.5 -1.3733| = 0.1267 <\/span>\n\n\n\n<p><em>iteraci\u00f3n 3<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image alignright size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/05\/newtonRaphson_itera2.gif\" alt=\"M\u00e9todo de Newton-Raphson para itera=3 gr\u00e1fica\" class=\"wp-image-22836\" style=\"width:350px\" \/><\/figure>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">f(1.3733) = (1.3733)^3 + 4(1.3733)^2 -10<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">= 0.1337 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">f'(1.3733) = 3(1.3733)^2 + 8(1.3733) <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> = 16.6442 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_{4} = 1.3733 -\\frac{0.1337}{16.6442}<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">=1.3652 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> tramo = |1.3733 -1.3652| = 0.0081 <\/span>\n\n\n\n<p>La tabla resume los valores de las iteraciones<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>iteraci\u00f3n<\/th><th><strong>x<\/strong><sub>i<\/sub><\/th><th><strong>x<\/strong><sub>nuevo<\/sub><\/th><th>tramo<\/th><\/tr><\/thead><tbody><tr><td>1<\/td><td>2<\/td><td>1.5<\/td><td>0.5<\/td><\/tr><tr><td>2<\/td><td>1.5<\/td><td>1.3733<\/td><td>0.1267<\/td><\/tr><tr><td>3<\/td><td>1.3733<\/td><td>1.3653<\/td><td>0.0081<\/td><\/tr><tr><td>4<\/td><td>...<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Observe que el error representado por el tramo se va reduciendo entre cada iteraci\u00f3n. Se debe repetir las iteraciones hasta que el error sea menor al valor tolerado.<\/p>\n\n\n\n<p>Las dem\u00e1s iteraciones se dejan como <em><strong>tarea<\/strong><\/em><\/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><a href=\"#concepto\">Newton-Raphson<\/a><\/p>\n\n\n\n<p><a href=\"#ejercicio\">Ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#analitico\">Anal\u00edtico<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">Algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#funcion\">funci\u00f3n<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p class=\"has-medium-font-size\"><a href=\"#libreria\">librer\u00eda<\/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=\"algoritmo\">4. Algoritmo con Python para el m\u00e9todo de Newton-Rapson<\/h2>\n\n\n\n<p>El m\u00e9todo de Newton-Raphson se implementa con instrucciones b\u00e1sicas en el algoritmo en Python. Requiere la expresi\u00f3n f(x) y la derivada f'(x).<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"M\u00e9todo de Newton-Raphson y gr\u00e1fica con Python - M\u00e9todos Num\u00e9ricos\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/GjgzoafJKpU?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Se muestra el resultado del algoritmo luego de que el tramo alcance un valor menor que tolera.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>M\u00e9todo de Newton-Raphson\nitera  :  4\nra\u00edz en:  1.3652300139161466\nerrado :  3.200095847999407e-05<\/code><\/pre>\n\n\n\n<p>Se requiere a\u00f1adir el control de iteraciones con <code>iteramax<\/code> en caso que el algoritmo NO sea convergente.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# M\u00e9todo de Newton-Raphson\nimport numpy as np\n\n# INGRESO\nfx  = lambda x: x**3 + 4*(x**2) - 10\ndfx = lambda x: 3*(x**2) + 8*x\n\nx0 = 2\ntolera = 0.001\niteramax = 100\n\n# PROCEDIMIENTO\nitera = 0\ntramo = abs(2*tolera)\nxi = x0\nwhile (tramo&gt;=tolera and itera&lt;iteramax):\n    fi = fx(xi)\n    dfi = dfx(xi)\n    xnuevo = xi - fi\/dfi\n    tramo = abs(xnuevo-xi)\n    xi = xnuevo\n    itera = itera + 1\n\nif itera&gt;=iteramax:\n    xi = np.nan\n\n# SALIDA\nprint('M\u00e9todo de Newton-Raphson')\nprint('itera  : ', itera)\nprint('ra\u00edz en: ', xi)\nprint('errado : ', tramo)\n<\/pre><\/div>\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><a href=\"#concepto\">Newton-Raphson<\/a><\/p>\n\n\n\n<p><a href=\"#ejercicio\">Ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#analitico\">Anal\u00edtico<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">Algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#funcion\">funci\u00f3n<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p class=\"has-medium-font-size\"><a href=\"#libreria\">librer\u00eda<\/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=\"graficasimple\">5. Gr\u00e1fica en Python<\/h2>\n\n\n\n<p>La gr\u00e1fica se usa para revisar f(x), requiere indicar el intervalo [a,b] y el n\u00famero de muestras en el intervalo:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# GRAFICA ---------------------\nimport matplotlib.pyplot as plt\na = 1\nb = 2\nmuestras = 21\ntitulo = 'Newton-Raphson'\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.title(titulo)\nplt.tight_layout()\nplt.show()\n<\/pre><\/div>\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><a href=\"#concepto\">Newton-Raphson<\/a><\/p>\n\n\n\n<p><a href=\"#ejercicio\">Ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#analitico\">Anal\u00edtico<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">Algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#funcion\">funci\u00f3n<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p class=\"has-medium-font-size\"><a href=\"#libreria\">librer\u00eda<\/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=\"funcion\">6. Algoritmo en Python como Funci\u00f3n para el m\u00e9todo de Newton-Raphson<\/h2>\n\n\n\n<p>Se convierte el algoritmo a una funci\u00f3n, con la opci\u00f3n para mostrar los resultados de las operaciones en cada iteraci\u00f3n. Para el ejercicio se obtiene los siguientes resultados:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>m\u00e9todo de Newton-Raphson\ni &#091;'xi', 'fi', 'dfi', 'xnuevo', 'tramo']\n0 &#091; 2.  14.  28.   1.5  0.5]\n1 &#091; 1.5     2.375  18.75    1.3733  0.1267]\n2 &#091;1.3733e+00 1.3435e-01 1.6645e+01 1.3653e+00 8.0713e-03]\n3 &#091;1.3653e+00 5.2846e-04 1.6514e+01 1.3652e+00 3.2001e-05]\nM\u00e9todo de Newton-Raphson\nitera  :  4\nra\u00edz en:  1.3652300139161466\nerrado :  3.200095847999407e-05<\/code><\/pre>\n\n\n\n<p>Instrucciones en Python<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# M\u00e9todo de Newton-Raphson\n# Requiere fx y dfx\n# x0 es el valor inicial para la b\u00fasqueda de ra\u00edz\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    tabla=&#x5B;]\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\n        unafila = np.array(&#x5B;xi,fi,dfi,xnuevo,tramo])\n        tabla.append(unafila)\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    tabla = np.array(tabla,dtype=float)\n    return(xi,tabla)\n\n# PROGRAMA -------------------------\n# INGRESO\nfx  = lambda x: x**3 + 4*(x**2) - 10\ndfx = lambda x: 3*(x**2) + 8*x\n\nx0 = 2\ntolera = 0.001\niteramax = 15\nverdigitos = 4 # ver digitos en tabla\n\n# PROCEDIMIENTO\nxi,tabla = newton_raphson(fx,dfx,x0,tolera,iteramax,\n                          vertabla=True,\n                          precision=verdigitos)\nn = len(tabla)\nerrado = tabla&#x5B;n-1,4]\n\n# SALIDA\nprint('M\u00e9todo de Newton-Raphson')\nprint('itera  : ', n)\nprint('ra\u00edz en: ', xi)\nprint('errado : ', errado)\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"grafica\">7. Gr\u00e1fica en Python para la funci\u00f3n del m\u00e9todo de Newton-Raphson<\/h2>\n\n\n\n<p>Requiere el intervalo [a,b] del eje x, la cantidad de muestras.<\/p>\n\n\n\n<p>Para el caso de realizar la gr\u00e1fica de una iteraci\u00f3n particular, usar la variable <strong>itera_graf<\/strong>. Por ejemplo para las gr\u00e1ficas presentadas en cada iteraci\u00f3n en la secci\u00f3n de <a href=\"#analitico\">desarrollo anal\u00edtico<\/a>.<\/p>\n\n\n\n<p>Las instrucciones que se a\u00f1aden al algoritmo como funci\u00f3n son:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# GRAFICA ---------------------\nimport matplotlib.pyplot as plt\n\na = 1\nb = 2\nmuestras = 21\nitera_graf = 2 #n-1 # iteraci\u00f3n en gr\u00e1fica\ntitulo = 'Newton-Raphson'\n\nxk = np.linspace(a,b,muestras)\nfk = fx(xk)\n\nxa = tabla&#x5B;:,0]\nya = tabla&#x5B;:,1]\nxb = tabla&#x5B;:,3]\ndfi = tabla&#x5B;:,2]\n# Aproximacion con tangente\nb0 = ya&#x5B;itera_graf] - dfi&#x5B;itera_graf]*xa&#x5B;itera_graf]\ntangentek = dfi&#x5B;itera_graf]*xk + b0\nci = -b0\/dfi&#x5B;itera_graf]\n\nplt.plot(xk,fk, label='f(x)')\nif itera_graf==(n-1): # iteraci\u00f3n final\n    plt.plot(xi,0, 'o')\nif itera_graf&lt;(n-1): # una iteraci\u00f3n en gr\u00e1fica\n    titulo = titulo+', itera='+str(itera_graf)\n    plt.ylim(&#x5B;np.min(fk),np.max(fk)])\n    plt.plot(&#x5B;xa&#x5B;itera_graf],xa&#x5B;itera_graf]],&#x5B;0,ya&#x5B;itera_graf]],'--',color='red')\n    plt.plot(xa&#x5B;itera_graf],ya&#x5B;itera_graf],'o',color='red',label='xi')\n    plt.plot(xk,tangentek,color='orange',label='tangente')\n    plt.plot(ci,0,'o',color='green',label='x&#x5B;i+1]')\n    \nplt.axhline(0)\nplt.xlabel('x')\nplt.ylabel('f(x)')\nplt.grid()\nplt.legend()\nplt.title(titulo)\nplt.tight_layout()\nplt.show()\n<\/pre><\/div>\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><a href=\"#concepto\">Newton-Raphson<\/a><\/p>\n\n\n\n<p><a href=\"#ejercicio\">Ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#analitico\">Anal\u00edtico<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">Algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#funcion\">funci\u00f3n<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p class=\"has-medium-font-size\"><a href=\"#libreria\">librer\u00eda<\/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=\"libreria\">8. Funci\u00f3n en librer\u00eda scipy.optimize.newton<\/h2>\n\n\n\n<p>El m\u00e9todo de Newton-Raphson se encuentra disponible tambi\u00e9n en la librer\u00eda&nbsp; Scipy, como uno de los m\u00e9todos de optimizaci\u00f3n num\u00e9rica. Usando el ejemplo y lo definido para el ejercicio se puede usar como:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>&gt;&gt;&gt; import scipy as sp\n&gt;&gt;&gt; sp.optimize.newton(fx,x0, fprime=dfx, tol = tolera)\n1.3652300139161466\n&gt;&gt;&gt;<\/code><\/pre>\n\n\n\n<p><a href=\"https:\/\/docs.scipy.org\/doc\/scipy\/reference\/generated\/scipy.optimize.newton.html\">https:\/\/docs.scipy.org\/doc\/scipy\/reference\/generated\/scipy.optimize.newton.html<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p><strong>Tarea<\/strong><\/p>\n\n\n\n<p>Calcule la ra\u00edz de <em>f<\/em>(x) = e<sup>-x<\/sup> - x, empleando como valor inicial x<sub>0<\/sub> = 0<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Revisar <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/mnumericos\/mn-recursos\/resumen-sympy\/\" data-type=\"page\" data-id=\"12764\">Resumen Sympy<\/a> para obtener la derivada.<\/li>\n<\/ul>\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><a href=\"#concepto\">Newton-Raphson<\/a><\/p>\n\n\n\n<p><a href=\"#ejercicio\">Ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#analitico\">Anal\u00edtico<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">Algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#funcion\">funci\u00f3n<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p class=\"has-medium-font-size\"><a href=\"#libreria\">librer\u00eda<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n","protected":false},"excerpt":{"rendered":"<p>Newton-Raphson Ejercicio Anal\u00edtico Algoritmo funci\u00f3n gr\u00e1fica librer\u00eda 1. M\u00e9todo de Newton-Raphson - \u00bfqu\u00e9 es? Referencia: Burden 2.3 p49, Chapra 6.2 p148, Rodr\u00edguez 3.3 p52 Se deduce a partir de la interpretaci\u00f3n gr\u00e1fica o por medio del uso de la serie de Taylor de dos t\u00e9rminos. De la gr\u00e1fica, se usa el tri\u00e1ngulo formado por la [&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":[36],"tags":[],"class_list":["post-1161","post","type-post","status-publish","format-standard","hentry","category-mn-u02"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1161","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=1161"}],"version-history":[{"count":14,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1161\/revisions"}],"predecessor-version":[{"id":22837,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1161\/revisions\/22837"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=1161"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=1161"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=1161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}