У меня есть программа, в которой я хочу преобразовать переменную в другую в уравнении. Идея состоит в том, чтобы получить информацию от пользователя, которая представляет собой уравнение, и преобразовать переменные symboli c в другие. Вот пример:
from sympy import symbols, limit, diff
x_1, x_2, X_1, X_2 = symbols('x_1 x_2 X_1 X_2')
def afosm_nl_ls(x_1_mean, x_2_mean, x_1_std, x_2_std, g):
x_1 = X_1*x_1_std + x_1_mean
x_2 = X_2*x_2_std + x_2_mean
g = g.subs((x_1, X_1), (x_2, X_2))
print(g)
afosm_nl_ls(50, 30, 3, 2, x_1**2 + 1 - x_2)
Дайте мне этот вывод:
x_1**2 - x_2 + 1
Затем я хочу заставить x_i
обратиться к X_i*x_i_std + x_i_mean
. Я сделал это легко без функции, просто используя это:
from sympy import limit, diff, symbols
x_1, x_2, X_1, X_2 = symbols('x_1 x_2 X_1 X_2')
x_1 = X_1*3 + 50
x_2 = X_2*2 + 30
g = x_1**2 + 1 - x_2
print(g)
Где результат:
-2*X_2 + (3*X_1 + 50)**2 - 29
Итак, как мне написать код в функции, чтобы все еще получить уравнение от пользователя и получить правильное преобразование?