# Método de la secante
J.J
---
Está dado por las iteraciones
\begin{equation}
x_{i+1} = x_{i} - \frac{f(x_{i})}{d_{i}},
\end{equation}
con
\begin{equation}
d_{i} = \frac{f(x_{i})-f(x_{i-1})}{x_{i} - x_{i-1}}.
\end{equation}

Ejemplo: $f(x) = x^{2} + 3x +1$


```python
import numpy as np
import matplotlib.pyplot as plt
```


```python
def f(x):
    f = x**2 + 3*x + 1
    return f
```


```python
X = np.linspace(-3, 1, 100)
plt.plot(X, f(X))
```


```python
e = 0.0001 #error
maxit = 1000 #iteraciones máximas
```


```python
def Secante(x0, x1, func = f, error = e, iterations = maxit):
    it = 0
    while it < maxit:
        it += 1
        x = x1 - ((x1-x0)/(f(x1)-f(x0)))*f(x1)
        if abs(f(x)) > e:
            x0 = x1
            x1 = x
        else:
            break
    return x
```


```python
sol1 = Secante(-3.,-2.)
sol2 = Secante(-1.,0.)
print(sol1)
print(sol2)
```

    -2.618034055727554
    -0.38197424892703863



```python
X = np.linspace(-3, 1, 100)
plt.plot(X, f(X))
plt.plot(sol1,f(sol1),'ro')
plt.plot(sol2,f(sol2),'ro')
plt.show()
```


```python

```

4e80a6a622f13afa0541f10b8e8195373ed42d54
ipynb
Jupyter Notebook
Ec. No lineales/Metodo_secante.ipynb
JosueJuarez/M-todos-Num-ricos
8e328ef0f70519be57163b556db1fd27c3b04560
MIT
Ec. No lineales/Metodo_secante.ipynb
JosueJuarez/M-todos-Num-ricos
8e328ef0f70519be57163b556db1fd27c3b04560
MIT
Ec. No lineales/Metodo_secante.ipynb
JosueJuarez/M-todos-Num-ricos
8e328ef0f70519be57163b556db1fd27c3b04560
MIT
Qwen/Qwen-72B
1. YES
2. YES