Я пытаюсь построить ограниченный оптимизационный калькулятор в python, используя модуль sympy.Идея состоит в том, что пользователь может ввести две функции, «f» и «g», которые затем объединяются, чтобы сформировать уравнение «L».
Я хочу, чтобы SymPy дал мне частные производные от x, y и lambda в "L", однако мой код, похоже, не работает.При попытке получить их частные производные я получаю следующие результаты:
0
0
-x - 4 * y + 500
Я использовал x+ 100 * yy ** 2 как функция 1 и x + 4 * y-500 и функция 2.
Здесь пока код:
import sympy as sp
from sympy.parsing import sympy_parser
x, y = sp.symbols("x y", real=True)
lam = sp.symbols('lambda', real=True)
insert = input("Insert function 1:") #function 1
f = sympy_parser.parse_expr(insert) #transforming the function into a sympy expression
print(f)
insert2 = input("Insert function 2:") #function2
g = sympy_parser.parse_expr(insert2) #transforming function 2
L = f - lam*g #getting the equation "L"
xx = sp.diff(L, x) #partial derivative L'x
yy = sp.diff(L, y) #partial derivative L'y
ll = sp.diff(L, lam) #partial derivative L'lam
print(xx)
print(yy)
print(ll)
Я пробовал оба "parse_expr"Команды "и" упрощения "для преобразования введенных пользователем функций из строки в выражения sympy.Я мог бы пропустить что-то еще.