如何在循环和绘图中设置numpy数组

时间:2013-08-14 00:19:11

标签: python numpy matplotlib scipy odeint

我正在尝试修改scipy cookbook中的代码

scipy cookbook解决了一些状态方程,然后打印出来:

wsol = odeint(two_springs.vectorfield, w0, t, args=(p,),
              atol=abserr, rtol=relerr)

for t1, w1 in zip(t, wsol):
    print t1, w1[0], w1[1], w1[2], w1[3]

scipy cookbook要求你破解程序并将打印的东西保存到文件中:

program.py> FILE.DAT

然后单独的绘图功能要求您加载该文件中的数据

t, x1, xy, x2, y2 = loadtxt('two_springs.dat', unpack=True)

在绘图之前

plot(t, x1, 'b', linewidth=lw)
plot(t, x2, 'g', linewidth=lw)

我只想设置t,x1,x2和绘图

有谁能告诉我该怎么做?

这就是我想要修改的内容:

http://wiki.scipy.org/Cookbook/CoupledSpringMassSystem

1 个答案:

答案 0 :(得分:0)

我假设wsol是Nx4 ndarray,因此您只需要解压缩值:

x1, xy, x2, y2 = wsol.T