【问题标题】:How do I use pylab to plot a phase plane for pendulum motion?如何使用 pylab 绘制钟摆运动的相平面?
【发布时间】:2018-09-23 06:06:20
【问题描述】:

我的代码可用于绘制以下捕食者猎物模型:

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()

但我不确定如何使用这些函数绘制相平面(使用流图)来模拟钟摆运动,定义为

d^2θ/dt^2 = (−g/L)sin(θ)

如何实现这个模型以使用 matplotlib 和 pylab 生成相平面?

【问题讨论】:

    标签: python matplotlib ode


    【解决方案1】:

    你也这样做,先把它变成一阶系统

    thetadot = omega
    omegadot = -g/L*sin(theta)
    

    theta, omega 重命名为 x,y 以保持简短,然后像以前一样继续:

    g,L = 1,1
    xvalues, yvalues = meshgrid(arange(-8, 8, 0.1), arange(-3, 3, 0.1))
    xdot = yvalues
    ydot = -g/L*sin(xvalues)
    streamplot(xvalues, yvalues, xdot, ydot)
    grid(); show()
    

    它给出了通常的相位图

    【讨论】:

      猜你喜欢
      • 2018-11-05
      • 1970-01-01
      • 1970-01-01
      • 2013-01-27
      • 1970-01-01
      • 2017-05-15
      • 1970-01-01
      • 1970-01-01
      • 2016-08-17
      相关资源
      最近更新 更多