{"id":1176,"date":"2017-05-29T09:45:16","date_gmt":"2017-05-29T14:45:16","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/matg1013\/?p=1176"},"modified":"2026-04-18T12:03:17","modified_gmt":"2026-04-18T17:03:17","slug":"metodo-secante","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-u02\/metodo-secante\/","title":{"rendered":"2.5 M\u00e9todo de la Secante"},"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\">Secante<\/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><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 la Secante<\/h2>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: Chapra 6.3 p154, Burden 2.3 p54,<\/p>\n\n\n\n<p>El <strong>m\u00e9todo de la secante<\/strong> busca evitar un posible inconveniente en el desarrollo el algoritmo para m\u00e9todo de Newton-Raphson, que es el implementar la evaluaci\u00f3n de la expresi\u00f3n de la primera derivada.<\/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\/secantemetodo_ejercicio01_animado.gif\" alt=\"m\u00e9todo de Secante gr\u00e1fico animado\" class=\"wp-image-13345\" \/><\/figure>\n\n\n\n<p>La derivada de la funci\u00f3n f(x) tambi\u00e9n se puede aproximar mediante una diferencia finita dividida hacia atr\u00e1s: <\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f'(x_i) = \\frac{f(x_{i-1})-f(x_i)}{x_{i-1}-x_i} <\/span>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"614\" height=\"460\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/05\/secantemetodo_concepto_animado.gif\" alt=\"M\u00e9todo de la Secante concepto gr\u00e1fico animado\" class=\"wp-image-13348\" style=\"width:614px;height:auto\" \/><\/figure>\n\n\n\n<p>la que se sustituye en la ecuaci\u00f3n del m\u00e9todo de Newton-Raphson para obtener:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_{i+1}= x_i - f(x_i)\\frac{(x_{i-1} - x_i)}{f(x_{i-1}) - f(x_i)} <\/span>\n\n\n\n<p>Los <strong>m\u00e9todos de la secante<\/strong> y de la <strong>falsa posici\u00f3n<\/strong> tienen ecuaciones id\u00e9nticas, usan dos valores iniciales x[i-1] , x[i], para proyectar el nuevo valor de x[i+1].<\/p>\n\n\n\n<p>Sin embargo, existe una diferencia importante entre ambos m\u00e9todos en la forma en que uno de los valores iniciales se reemplaza por la nueva aproximaci\u00f3n.<\/p>\n\n\n\n<p>En el m\u00e9todo de la falsa posici\u00f3n, la \u00faltima aproximaci\u00f3n de la ra\u00edz reemplaza cualquiera de los valores iniciales que d\u00e9 un valor de la funci\u00f3n con el mismo signo. En consecuencia, las dos aproximaciones siempre encierran a la ra\u00edz, es un m\u00e9todo cerrado y siempre converge.<\/p>\n\n\n\n<p>En el m\u00e9todo de la secante se reemplaza los valores en secuencia estricta: xi reemplaza a x[i \u2013 1], con el nuevo valor x[i+1] se reemplaza a xi . Por lo que, algunas veces los dos valores est\u00e1n en el mismo lado de la ra\u00edz y en ciertos casos esto puede llevar a divergencias.<\/p>\n\n\n\n<p><em><strong>Observaci\u00f3n<\/strong><\/em>: \u00bfCu\u00e1l es la diferencia con el m\u00e9todo de Newton-Raphson?<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1.1 Recta Secante para la gr\u00e1fica<\/h3>\n\n\n\n<p>Si se quiere dibujar la recta secante, se inicia con la ecuaci\u00f3n de la recta usando el valor de la pendiente del tri\u00e1ngulo presentado en la gr\u00e1fica del m\u00e9todo, cambie la constante <strong>b<\/strong> por b<sub>0<\/sub>.<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y = mx + b <\/span>\n\n\n\n<p>Para identificar los puntos consecutivos con variables simples, se usa la siguiente conversi\u00f3n<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>x<sub>i-1<\/sub><\/td><td>x<sub>i<\/sub><\/td><td>x<sub>i+1<\/sub><\/td><\/tr><tr><td>x<sub>a<\/sub><\/td><td>x<sub>b<\/sub><\/td><td>x<sub>c<\/sub><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> m = \\frac{f(x_a)-f(x_b)}{x_a-x_b} <\/span>\n\n\n\n<p>Se usa un punto conocido, por ejemplo (xb,fb) y se encuentra b<sub>0<\/sub><\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(x_b) = m x_b + b_0 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(x_b) - m x_b = b_0 <\/span>\n\n\n\n<p>reordenando, se usan tres expresiones para disponer de la funci\u00f3n de la recta secante.<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> m = \\frac{f(x_a)-f(x_b)}{x_a-x_b} <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> b_0 = f(x_b) - m x_b <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> rsc(x)= m x + b_0 <\/span>\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\">Secante<\/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><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><em><strong>Referencia<\/strong><\/em>: Burden 2.1 ejemplo 1 p38<\/p>\n\n\n\n<p>La ecuaci\u00f3n mostrada tiene una ra\u00edz en el intervalo [1,2], ya que f(1) = -5 y f(2) = 14. Muestre los resultados parciales del algoritmo de la secante 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\/secantemetodo_ejercicio01_animado.gif\" alt=\"M\u00e9todo de la Secante\" class=\"wp-image-13345\" \/><\/figure>\n\n\n\n<p>La gr\u00e1fica se realiza iniciando con los valores 2.5 y 4 para observar mejor el efecto gr\u00e1fico en las iteraciones.<\/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\">Secante<\/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><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<\/h2>\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<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_{i+1}= x_i - f(x_i)\\frac{(x_{i-1} - x_i)}{f(x_{i-1}) - f(x_i)} <\/span>\n\n\n\n<p>Se probar\u00e1 con valores iniciales dentro del tramo [1,2], tolera = 0.001<\/p>\n\n\n\n<p><em>itera = 0<\/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\/secantemetodo_itera0.gif\" alt=\"M\u00e9todo de la secante para itera=0 gr\u00e1fica\" class=\"wp-image-22845\" style=\"width:350px\" \/><\/figure>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> X_{-1} = 1,\u00a0 X_0 =2 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(1) = (1)^3 + 4(1)^2 -10 = -5 <\/span>\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\"> x_{1}= 2 - 14\\frac{(1 - 2)}{(-5 - 14)} = 1.2632<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> errado = |1.2632 - 2| = 0.7368 <\/span>\n\n\n\n<p><em>itera = 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\/secantemetodo_itera1.gif\" alt=\"M\u00e9todo de la secante para itera=1 gr\u00e1fica\" class=\"wp-image-22847\" style=\"width:350px\" \/><\/figure>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> X_0 = 2,\u00a0 X_1 = 1.2632 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">f(2) =14 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">f(1.2632) = ( 1.2632)^3 + 4( 1.2632)^2 -10 =-1.6023 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_{2}= 1.2632 - (-1.6023)\\frac{(2 - 1.2632)}{(14 -(-1.6023))} =1.3388 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> errado = |1.3388 - 1.2632 | = 0.0756 <\/span>\n\n\n\n<p><em>itera = 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\/secantemetodo_itera2.gif\" alt=\"M\u00e9todo de la secante para itera=2 gr\u00e1fica\" class=\"wp-image-22849\" style=\"width:350px\" \/><\/figure>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> X_1 =1.2632, X_2 =1.3388 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(1.2632) = -1.6023<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">f(1.3388) = (1.3388)^3 + 4(1.3388)^2 -10 =-0.4304 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_{3}= 1.3388 - (-0.4304)\\frac{(1.2632 - 1.3388)}{(-1.6023 -(-0.4304))} = 1.3666 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> errado = | 1.3388- 1.3666| =0.0277 <\/span>\n\n\n\n<p>desarrollando una tabla con el algoritmo se tiene:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>M\u00e9todo de la Secante\ni &#091; x&#091;i-1], xi, x&#091;i+1], f&#091;i-1], fi , tramo]\n0 &#091; 1.      2.      1.2632 -5.     14.      0.7368]\n1 &#091; 2.      1.2632  1.3388 14.     -1.6023  0.0757]\n2 &#091; 1.2632  1.3388  1.3666 -1.6023 -0.4304  0.0278]\n3 &#091; 1.3388  1.3666  1.3652 -0.4304  0.0229  0.0014]\n4 &#091; 1.3666e+00  1.3652e+00  1.3652e+00  2.2909e-02 -2.9907e-04  1.8098e-05]\nM\u00e9todo de la Secante\niteraciones: 5\nra\u00edz en:  1.3652300011108591\nerrado: 1.809847900258177e-05<\/code><\/pre>\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\">Secante<\/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><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 en Python<\/h2>\n\n\n\n<p>Para identificar los puntos consecutivos con variables simples, se usa la siguiente conversi\u00f3n:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>x<sub>i-1<\/sub><\/td><td>x<sub>i<\/sub><\/td><td>x<sub>i+1<\/sub><\/td><\/tr><tr><td>x<sub>a<\/sub><\/td><td>x<sub>b<\/sub><\/td><td>x<sub>c<\/sub><\/td><\/tr><\/tbody><\/table><\/figure>\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 la Secante y gr\u00e1fica con Python - M\u00e9todos Num\u00e9ricos\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/9b3u_Ij93Ic?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>Instrucciones en Python<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# M\u00e9todo de secante\nimport numpy as np\n\n# INGRESO\nfx = lambda x: x**3 + 4*x**2 - 10\na = 1 # intervalo de b\u00fasqueda\nb = 2\ntolera = 0.001\niteramax = 20\n\n# PROCEDIMIENTO\nxa = a\nxb = b\nitera = 0\ntramo = 2*tolera\nwhile tramo&gt;tolera and itera&lt;iteramax:\n    fa = fx(xa)\n    fb = fx(xb)\n    xc = xb - fb*(xa - xb)\/(fa - fb)\n    tramo = abs(xc - xb)\n    xa = xb\n    xb = xc\n    itera = itera + 1\n\nif itera&gt;=iteramax: # revisa convergencia\n    xc = np.nan\n\n# SALIDA\nprint('M\u00e9todo de la secante')\nprint('itera:',itera)\nprint('raiz:',xc)\nprint('tramo:',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\">Secante<\/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><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 presentada para revisar f(x) se realiza con las instrucciones:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# GRAFICA ---------------------\nimport matplotlib.pyplot as plt\n\na = 1\nb = 2\nmuestras = 21\ntitulo = 'M\u00e9todo de la Secante'\n\nxk = np.linspace(a,b,muestras)\nfk = fx(xk)\n\nplt.plot(xk,fk, label='f(x)')\nplt.plot(xc,0, 'o')\nplt.axhline(0)\nplt.xlabel('x')\nplt.ylabel('f(x)')\nplt.grid()\nplt.legend()\nplt.title(titulo)\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\">Secante<\/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><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 como Funci\u00f3n en Python para el m\u00e9todo de la secante<\/h2>\n\n\n\n<p>Una funci\u00f3n resumida, se recomienda realizar la validaci\u00f3n de cambio de signo entre [a,b]<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# M\u00e9todo de secante\n# Los valores de &#x5B;a,b] son revisados con la gr\u00e1fica\nimport numpy as np\n\ndef secante_raiz(fx,a,b,tolera, iteramax=50,\n                 vertabla=True, precision=6):\n    '''fx en forma num\u00e9rica lambda\n    Los valores de &#x5B;a,b] son seleccionados\n    desde la gr\u00e1fica de la funci\u00f3n\n    '''\n    xa = a\n    xb = b\n    itera = 0\n    tramo = np.abs(xb-xa)\n    tabla=&#x5B;]\n    if vertabla==True:\n        print('M\u00e9todo de la Secante')\n        print('i','&#x5B; x&#x5B;i-1], xi, x&#x5B;i+1], f&#x5B;i-1], fi , tramo]')\n        np.set_printoptions(precision)\n    \n    while not(tramo&lt;tolera or itera&gt;iteramax):\n        fa = fx(xa)\n        fb = fx(xb)\n        xc = xb - fb*(xa - xb)\/(fa - fb)\n        tramo = abs(xc - xb)\n\n        unafila = np.array(&#x5B;xa,xb,xc,fa,fb,tramo])\n        tabla.append(unafila)\n        if vertabla==True:\n            print(itera,unafila)\n        xa = xb\n        xb = xc\n        itera = itera + 1\n    \n    if itera&gt;=iteramax:\n        xc = np.nan\n        print('itera: ',itera,\n              'No converge,se alcanz\u00f3 el m\u00e1ximo de iteraciones')\n    respuesta = xc\n    tabla = np.array(tabla,dtype=float)\n    return(respuesta,tabla)\n\n# INGRESO\nfx = lambda x: x**3 + 4*x**2 - 10\na = 1\nb = 2\ntolera = 0.001\nverdigitos = 4 # ver digitos en tabla\niteramax = 50\n\n# PROCEDIMIENTO\nxc,tabla = secante_raiz(fx,a,b,tolera,iteramax,\n                        vertabla=True,\n                        precision=verdigitos)\nn = len(tabla)\nerrado = tabla&#x5B;n-1,5]\n# SALIDA\nprint('M\u00e9todo de la Secante')\nprint('iteraciones:',n)\nprint('ra\u00edz en: ',xc)\nprint('errado:',errado)\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"grafica\">7. Gr\u00e1fica con Python para la funci\u00f3n del m\u00e9todo de la Secante<\/h2>\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 = 'M\u00e9todo de la Secante'\ntramos = 100\n\n&#x5B;xa,xb,xc] = tabla&#x5B;itera_graf,0:3]\n&#x5B;fa,fb] = tabla&#x5B;itera_graf,3:5]\nxk = np.linspace(a,b,muestras)\nfk = fx(xk)\n\nplt.plot(xk,fk, label='f(x)')\n\nif itera_graf==(n-1): # iteraci\u00f3n final\n    plt.plot(xc,0,'D',color='orange',label='xc')\nif itera_graf&lt;(n-1): # una iteraci\u00f3n en gr\u00e1fica\n    titulo = titulo+', itera='+str(itera_graf)\n    plt.plot(xa, fa,'o',color='red', label='x&#x5B;i-1]')\n    plt.plot(xb, fb,'o',color='green', label='x&#x5B;i]')\n    plt.plot(xc, 0,'o',color='orange', label='x&#x5B;i+1]')\n\n    plt.plot(&#x5B;xa,xa],&#x5B;0,fa],'--',color='red')\n    plt.plot(&#x5B;xb,xb],&#x5B;0,fb],'--',color='green')\n\n    plt.plot(&#x5B;xa,xb],&#x5B;fa,fb],color='orange',label='secante ac')\n    plt.plot(&#x5B;xc,xb],&#x5B;0,fb],color='orange',label='secante cb')\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\">Secante<\/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><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 - Secante<\/h2>\n\n\n\n<p>El m\u00e9todo de la secante se encuentra implementado en Scipy en la forma de algoritmo de newton, que al no incluir como par\u00e1metro de la funci\u00f3n para la derivada de f(x), usa el m\u00e9todo de la secante:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\n&gt;&gt;&gt; import scipy as sp\n&gt;&gt;&gt; sp.optimize.newton(fx,xa, tol=tolera)\n1.3652320383201266\n<\/pre><\/div>\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<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#concepto\">Secante<\/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><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>Secante Ejercicio Anal\u00edtico Algoritmo funci\u00f3n gr\u00e1fica librer\u00eda 1. M\u00e9todo de la Secante Referencia: Chapra 6.3 p154, Burden 2.3 p54, El m\u00e9todo de la secante busca evitar un posible inconveniente en el desarrollo el algoritmo para m\u00e9todo de Newton-Raphson, que es el implementar la evaluaci\u00f3n de la expresi\u00f3n de la primera derivada. La derivada de 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-1176","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\/1176","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=1176"}],"version-history":[{"count":14,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1176\/revisions"}],"predecessor-version":[{"id":22850,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1176\/revisions\/22850"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=1176"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=1176"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=1176"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}