我试图解决一个我的三次方程的真正根,其中我的系数实际上是数组。我能够找到根,但我也试图将所有真正的根附加到一个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()
答案 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