Я пытаюсь найти корни для двумерной задачи оптимизации, формы (ниже это не фактическое уравнение, поскольку оно очень длинное, это всего лишь пример стиля проблемы).Корневой поиск изредка терпит неудачу. Может ли fSolve предоставить лимиты для 2D-оптимизации?
def my_function(a,b):
c = exp(a) + b
d = a + 2 - exp(b)
return c, d
Я хочу знать a и b, для которых c и d равны нулю.
До сих пор я использую fsolve из библиотеки scipy optimize и передаю начальные значения, поскольку значения, которые, как я знаю, близки к решению. Это хорошо работает, хотя в некоторых случаях это происходит неудачно, и я получаю сообщение об ошибке «не достигнув успеха в течение последних 10 итераций».
Интересно, есть ли способ/общая хорошая практика для того, чтобы корень нашел более надежным?
В противном случае, я хотел бы попробовать найти ограниченный корень. В 1D можно использовать fminbound, но я не могу найти функцию, которая позволит мне указать границы для двумерной задачи.
Любая помощь приветствуется.
Благодаря
Должны ли мы предположить, что в вашей «актуальной» проблеме невозможно решить для 'b' в терминах' a'? Наилучший подход заключается в использовании связей между свободными переменными, чтобы аналитически уменьшить проблему до 1D. –