Plot python显示空值

时间:2016-02-09 15:18:22

标签: python plot runge-kutta

我正在尝试绘制一个runge kutta方程,但它显示一个空值。我在逻辑上哪里出错了?

for n in xrange(0,10):    
   k1 = R*T[n] + g*h[n]
   l1 = -1*r*h[n] - a*b*T[n]


   k2 = R*(T[n]+k1*not_dt/2) + g*(h[n]+l1*not_dt/2)
   l2 = -1*r*(h[n]+l1*not_dt/2) - a*b*(T[n]+k1*not_dt/2)


   k3 = R*(T[n]+k2*not_dt/2) + g*(h[n]+l2*not_dt/2)
   l3 = -1*r*(h[n]+l2*not_dt/2) - a*b*(T[n]+k2*not_dt/2)


   k4 = R*(T[n]+k3*not_dt) + g*(h[n]+l3*not_dt)        
   l4 = -1*r*(h[n]+l3*not_dt) - a*b*(T[n]+k3*not_dt)        


   T[n+1] = T[n] + not_dt/6 *(k1+2*k2+2*k3+k4)
   h[n+1] = h[n] + not_dt/6 *(l1+2*l2+2*l3+l4)


plt.plot(T[n+i],h[n+i]) 

也许我试着简化一下

T[0] = 11
h[0] = 0

for test in xrange(0, 10):
    k1 = T[test] + h[test]
    k2 = 2*k1
    k3 = 2*k2

    T[test+1] = T[test]+k3
    h[test+1] = h[test]+k2
    print T[test+1], h[test+1]

plt.plot(T[test+1],h[test+1]) 

我已尝试在上面运行简化脚本,它为打印提供了价值,但它只是不会出现在情节中。所以问题可能最终与runge kutta无关,只是绘图中的一些逻辑。对于那个很抱歉。

1 个答案:

答案 0 :(得分:1)

您正在使用未定义循环的循环的运行索引。

您尝试精确绘制一个点,而不是数组。使用

plt.plot(T,h)

如果这两个列表具有相同的长度。