Я должен найти номер решения в зависимости от параметра а. При численном решении уравнения с использованием scipy.optimize. root я получаю некоторые числа, которые не являются root функцией. Например, для x = 7 * sin (x) я получаю числа -7.71046524 и 7.71046524. Мой код:
a = np.linspace(-5, 5)
def fun(x):
return x - b*np.sin(x)
for i in a:
solutions = []
b = i
c = abs(int(round(i)))
for j in range(-c, c+1):
y = root(fun, j)
if (round(y.x[0], 3) not in solutions):
solutions.append(round(y.x[0], 3))
print(len(solutions))