什么是创建Sympy方程的最佳方法?例如,进行求导并绘制该方程结果的方式是什么?
我有我的符号方程,但无法想出如何创建用于绘图的值数组。以下是我的代码:
在我的情况下,我只是计算了该方程的导数,现在我想绘制速度
我有我的符号方程,但无法想出如何创建用于绘图的值数组。以下是我的代码:
from sympy import symbols
import matplotlib.pyplot as mpl
t = symbols('t')
x = 0.05*t + 0.2/((t - 5)**2 + 2)
nums = []
for i in range(1000):
nums.append(t)
t += 0.02
plotted = [x for t in nums]
mpl.plot(plotted)
mpl.ylabel("Speed")
mpl.show()
在我的情况下,我只是计算了该方程的导数,现在我想绘制速度
x
,因此这相当简化。
lambdify
从sympy表达式创建一个numpy友好的表达式,而不是使用subs。 - asmeurerlambdify(t, x, modules=['numpy'])
和y_vals = lam_x(x_vals)
,它会更快。 - MaxNoelambdify()
而不是我低效的列表推导式和subs()
,使得速度快了4倍。 - user