lambdify

SymPy to NumPy to a plot.

lambdify turns a sympy expr into a numpy function you can plot.

Goal

Plot sin(x)*exp(-x/4) on 0..12.

import numpy as np
import sympy as sp
x = sp.symbols('x')
f = sp.lambdify(x, sp.sin(x) * sp.exp(-x / 4), 'numpy')
xs = np.linspace(0, 12, 50)
print(f(xs)[:3].round(3))
import numpy as np
import sympy as sp
x = sp.symbols('x')
f = sp.lambdify(x, x ** 2, 'numpy')
print(f(np.array([1.0, 2, 3])))
import numpy as np
import sympy as sp
x = sp.symbols('x')
f = sp.lambdify(x, sp.sin(x), 'numpy')
xs = np.linspace(0, 2 * np.pi, 80)
plt.plot(xs, f(xs))
plt.show()
print('ok')
import sympy as sp
print(sp.lambdify(sp.symbols('x'), 2 * sp.symbols('x'), 'numpy')(21))