Nick Charlton - 1 year ago 205

Python Question

I am trying to find the roots(i.e. where their curves cross) of the functions:

`def f1(x):`

return np.cos(2 * np.pi * x) * np.exp(-x ** 2)

def f2(x):

return np.log(x + 2.2)

from looking at the graphs of the two functions I know that there are two roots where -2 < x < 2 but I want the root for 0.5 > x > 0 (the other root occurs at x < 0)

I have done some research and it seems that scipy.optimize.brentq is used for finding roots of functions but I don't know how to do it for the root of two functions.

any suggestions?

Recommended for you: Get network issues from **WhatsUp Gold**. **Not end users.**

Answer Source

In my humble opinion, the simplest way of doing this, is to define new function, for example:

```
def difference(x):
return f1(x)-f2(x)
```

and then using scipy.optimize.brentq

Recommended from our users: **Dynamic Network Monitoring from WhatsUp Gold from IPSwitch**. ** Free Download**