Я использую SymPy для аналитической обработки переменных (например, умножение матриц и т. Д. c.). После этого я получаю новое выражение SymPy, которое я хотел бы использовать для построения графиков с Matplotlib. Пока что мой единственный способ сделать это - распечатать выражение SymPy и вставить его во вновь определенную функцию вручную.
Как я могу напрямую преобразовать выражение SymPy в функцию для числовой интерпретации без полагаться на копирование и вставку?
Минимальным рабочим примером является следующее:
import sympy as sp
import matplotlib.pyplot as plt
import numpy as np
sp.var('x A B') # x will later be the variable, A and B will be constants
temp = A*x+B # intermediate calculations
f = temp*x # function in reality, it will be more complicated.
print(f) # I printed f in order to find the expression and copy-pasting it into the function below.
def func(x,A,B):
return x*(A*x + B) # This statement was copy-pasted. This line should be changed, s.t. copy-pasting is not necessary!
#Now we can handle the function numerically for plotting (using matplotlib and numpy)
xspace = np.linspace(0,5)
plt.plot(xspace,func(x=xspace,A=1,B=2))