我有用于绘制以下捕食者猎物模型的代码:
dx/dt = x ? xy, dy/dt = ?y + xy
from pylab import *
xvalues, yvalues = meshgrid(arange(0, 3, 0.1), arange(0, 3, 0.1))
xdot = xvalues - xvalues * yvalues
ydot = - yvalues + xvalues * yvalues
streamplot(xvalues, yvalues, xdot, ydot)
show()
Run Code Online (Sandbox Code Playgroud)
但我不确定如何使用这些函数来绘制相平面(使用流图)来模拟钟摆运动,定义为
d^2?/dt^2 = (?g/L)sin(?)
如何使用 matplotlib 和 pylab 实现此模型以生成相平面?
在 C++ 中使用 std::set 时,我发现从集合中删除项目的唯一方法是使用擦除方法。这会删除有问题的项目,这是我不希望发生的情况。我能想到的从集合中删除项目而不删除它的唯一方法是创建一个新集合并迭代地将旧集合的所有项目添加到其中,确保不添加需要从中删除的项目集,然后删除旧集。
有没有更干净的方法来做到这一点?