Как найти пересечение двух кривых? - PullRequest
0 голосов
/ 03 июля 2018

Как найти пересечение двух кривых, заданных массивами y1 и y2, имеющих одинаковые значения x? Это мой текущий код:

import numpy as np
import matplotlib.pyplot as plt
from scipy import optimize

fig = plt.figure()
ax = fig.add_subplot(111)
Ls = [2, 4]
for L in range(len(Ls)):
    x = np.arange(10)
    y1 = np.array([2, 4, 6, 8, 10, 12, 14, 16, 18, 20])
    y2 = np.array([20, 18, 16, 14, 12, 10, 8, 6, 4, 2])
    ax.plot(x, y1, x, y2)
    ax.set_label("x")
    ax.set_label("y")

f = np.sign(y1 - y2)
optimize.bisect(f, 4, 6)

Я получаю ошибку в bisect:

...
  File "...\scipy\optimize\zeros.py", line 249, in bisect
    r = _zeros._bisect(f,a,b,xtol,rtol,maxiter,args,full_output,disp)
TypeError: 'numpy.ndarray' object is not callable
...