Я пытался получить минимум для функции одной переменной. Функция:
sym.sqrt((x+6)**2 + 25) + sym.sqrt((x-6)**2 - 121)
Производная функции (которая (x - 6) /sym.sqrt ((x - 6) ** 2 - 121) + (x + 6) /sym.sqrt ((x + 6) ** 2 + 25)) взрывается при x, равном -5, и становится сложным при x, превышающем (например, -4), но меньше 18 (что мы можем игнорировать для простоты здесь), в связи с первым сроком. Поэтому я написал код, чтобы оценивать функцию только для x в диапазоне от -6 до -10 (по результатам проверки я мог видеть, что минимум составлял около -8,6, поэтому я выбрал -10):
def h(x):
for x in np.arange(-10,-5):
sym.sqrt((x+6)**2 + 25) + sym.sqrt((x-6)**2 - 121)
result = optimize.minimize_scalar(h,bounds=(-10,-5))
x_min = result.x
print(x_min)
К сожалению, я получил эту ошибку:
TypeError: ufun c 'isnan' не поддерживается для типов ввода, и входы не могут быть безопасно приведены к каким-либо поддерживаемым типам согласно правилу приведения «safe» '
Может кто-нибудь помочь мне с этим вопросом?
С уважением,
Прасанна