dolphin23
@dolphin23
Новичок в программировании

Как записать в переменную уравнения с неизвестными параметрами для дальнейшего их нахождения?

Вопрос звучит довольно запутано, сам понимаю. Сразу приведу пример своей программы, делаю оптимизацию функции по градиентному методу со сферической нормой, для этого
Задаю значения функций
def f(x, y):
    return pow(x, 2) + 3*pow(y, 2)

def dFx(x, y):
    return 2*x

def dFy(x, y):
    return 6*pow(y, 2)

def vec_len(x, y):
    return sqrt(pow(x, 2) + pow(y, 2))

Есть некая начальная точка
Xk = X0 = [2, 1]
И дальше идут подсчеты для нахождения коэфициентов:
len_dFk = vec_len(dFx(Xk[0], Xk[1]), dFy(Xk[0], Xk[1]))
Pk = [-dFx(Xk[0], Xk[1])/len_dFk, -dFy(Xk[0], Xk[1])/len_dFk]

И тут мне нужно найти значение альфа которое берется из следующего уравнения(тут псевдокод):
Xk[0] = Xk[0] + Pk[0]*α 
Xk[1] = Xk[1] + Pk[1]*α

И вот тут то мне и надо каким то образом записать это уравнение с неизвестным еще "α"(которое я в дальнейшем найду понятное дело), и вот вопрос в том как записать это уравнение в самом коде для его дальнейшего решения?
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ответы на вопрос 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Если у вас все остальные члены и коэффициенты уравнения будут известны или определены как функции, то надо преобразовать уравнение так, чтобы альфа осталась с одной стороны уравнения, а остальные члены - с другой. Все.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы