Предположим, что следующая функция:
f(x) = x * cos(x-4)
С x = [-2.5, 2.5]
эта функция пересекает 0
в f(0) = 0
и f(-0.71238898) = 0
.
Это было определено с помощью следующего кода:
import math
from scipy.optimize import fsolve
def func(x):
return x*math.cos(x-4)
x0 = fsolve(func, 0.0)
# returns [0.]
x0 = fsolve(func, -0.75)
# returns [-0.71238898]
Каков правильный способ использования fzero
(или любого другого корневого искателя Python), чтобы найти оба корня в одном вызове? Есть ли другая функция scipy
, которая делает это?