Как найти пересечение двух кривых, заданных массивами 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