创建一个辛方程的最佳方法是什么,做一些类似于求导数的事情,然后绘制该方程的结果?

我有我的符号方程,但不知道如何绘制一个值array.这是我的代码:

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,所以这是相当简化的.

推荐答案

可以使用numpy.linspace()创建x轴(下面代码中的x_vals)和lambdify()的值.

from sympy import symbols
from numpy import linspace
from sympy import lambdify
import matplotlib.pyplot as mpl

t = symbols('t')
x = 0.05*t + 0.2/((t - 5)**2 + 2)
lam_x = lambdify(t, x, modules=['numpy'])

x_vals = linspace(0, 10, 100)
y_vals = lam_x(x_vals)

mpl.plot(x_vals, y_vals)
mpl.ylabel("Speed")
mpl.show()

(asmeurerMaxNoe建议的改进)

enter image description here

或者,您可以使用sympy的plot():

from sympy import symbols
from sympy import plot

t = symbols('t')
x = 0.05*t + 0.2/((t - 5)**2 + 2)

plot(x, (t, 0, 10), ylabel='Speed')

Python-3.x相关问答推荐

需要使用regex匹配字符串的帮助,直到最后一次出现开闭括号,开闭括号中的值是可选的

S的两极是什么,相当于大Pandas 的`.ilo‘方法?

我不能使用拆分来分隔数据

在不使用 split 函数的情况下从字符串中分割逗号(','),句号('.')和空格(' '),将字符串的单词附加到列表中

Python根据条件从多行读取值

在特定条件下从 DataFrame 中提取特定组

从 LeetCode 的 Python 解决方案类中理解关键字 self

使用gekko python的混合整数非线性规划

删除Pandas 数据框行不起作用

以编程方式映射 uniprot ID 时如何解决 400 客户端错误?

正则表达式来识别用 Python 写成单词的数字?

获取以特定字母开头的姓氏

为直方图中的每个 bin 绘制不同的 colored颜色 (Matplotlib)

获取比较多列的最大值并返回特定值

Python:如何在三个列表中找到共同值

TypeError:列表索引必须是整数或切片,而不是列表

如何在不使用 @hydra.main() 的情况下获取 Hydra 配置

接收导入错误:没有名为 *** 的模块,但有 __init__.py

Django 教程 unicode 不起作用

TypeError:无法将系列转换为