使用箭袋解压缩的值太多了

时间:2018-04-22 17:02:57

标签: python numpy

我正在尝试使用箭头函数绘制动态系统的矢量场。

我有2个列表X和V.

我需要构建2个列表UE和VE分别包含f返回的第一个和第二个值,但是我有以下错误:

  

解包的价值太多了。

这是我的代码。

import numpy  as np
import scipy        # donne acces aux librairies scipy, scipy.linalg et scipy.integrate
import scipy.linalg
import scipy.integrate
import matplotlib.pyplot as plt
import math
%matplotlib inline

def f(x,v,t):
    return v,-(float(g)/l)*np.sin(x)


t0=0
x0=1
v0=0
T=20
l=1
g=9.81
UE, VE = np.array([f(x,v,0) for x,v in zip(X,V)])
plt.quiver(X, Y, UE, VE)

非常感谢任何帮助。

感谢。

1 个答案:

答案 0 :(得分:1)

通过查看错误的详细信息,您应该能够发现有问题的错误发生在

np.array([f(x,v,0) for x,v in zip(X,V)])

问题是数组包含两个以上的元素,因此将其解压缩到UEVE是不可能的。

在你的情况下,它看起来你真正想要的是数组的转置,

np.array([f(x,v,0) for x,v in zip(X,V)]).T