append()至少需要2个参数(给定1个)?

时间:2016-10-31 02:40:43

标签: python python-2.7

我试图解决一个我的三次方程的真正根,其中我的系数实际上是数组。我能够找到根,但我也试图将所有真正的根附加到一个separtae数组,所以我可以用它来解决我的其他问题。我不确定我做错了什么。出现的错误是:

  

append()至少需要2个参数(给定1个)。

P.S:gradU_all是我之前定义的一些数组。

我的代码在这里开始:(忽略奇怪的格式)

S=gradU_all

print S.shape

Wi=50

L=10

a=2*S**2*Wi**2

print a.shape

b=0

c=np.ones(N+2)

c*=L**2

c+=3

print c.shape

d=np.ones(N+2)

d*=-L**2

print d.shape


def Find_psi_real_roots():

    psi_real_roots=np.zeros(N+2)
    for i in range(N+2):
        #print 'for i:', i
        coeff= [a[i],0,103,-100]
        r=np.roots(coeff)
        real_valued = r.real[abs(r.imag)==0]
        psi_real_roots=np.append(real_valued[i])


Find_psi_real_roots()

1 个答案:

答案 0 :(得分:0)

np.append是一个通用函数,它有助于附加到任何numpy数组列表对象。

当你np.append(real_valued[i])时,numpy并不真正知道需要什么,因为它不知道要追加real_valued[i]的内容。因此,您需要告诉它将新根添加到什么地方。

psi_real_roots = np.append(psi_real_roots, real_valued[i])

real_value附加到数组psi_real_roots