#python #numpy
Вопрос:
Я пытаюсь найти корни своего уравнения, но получаю ошибку, которая :
"numpy.ndarray" object is not callable
мой код:
import numpy as np
from scipy.optimize import fsolve
q = (3 * np.sin(t / np.sqrt(2))) - (np.sin(t))
root = fsolve(q, 4)
print(root)
Комментарии:
1. Ты пробовал а
print(q)
? Что такоеt
?q
Соответствует ли этоfsolve
спецификации doc?2. t был просто массивом чисел между определенными периодами. И я не пытался печатать(q)
Ответ №1:
Когда вы хотите использовать from scipy.optimize import fsolve
, вам нужно написать q
как function
. Попробуй это:
import numpy as np
from scipy.optimize import fsolve
def func(x):
return (3 * np.sin(t / np.sqrt(2))) - (np.sin(t))
root = fsolve(func, 1)
print(root)