绘图 python 显示空值
Plot python is showing empty value
我正在尝试绘制龙格库塔方程,但它显示了一个空值。我逻辑哪里错了?
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 无关,只是一些策划中的逻辑。对于那个很抱歉。
您在未定义的循环外部使用循环的 运行 索引。
您试图精确绘制一个点,而不是数组。使用
plt.plot(T,h)
前提是两个列表的长度相同。
我正在尝试绘制龙格库塔方程,但它显示了一个空值。我逻辑哪里错了?
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 无关,只是一些策划中的逻辑。对于那个很抱歉。
您在未定义的循环外部使用循环的 运行 索引。
您试图精确绘制一个点,而不是数组。使用
plt.plot(T,h)
前提是两个列表的长度相同。