在这种情况下,我不知道如何解决该错误。我已经尝试过使用numpy数组,但是问题仍然存在。
我想做的是:用x计算n次迭代的runge函数。为了做到这一点,我认为我已经将每个x都放入了一个列表中,并使用了fill_cheby
函数。之后,我想将list1
中的数字用作runge_interpolate
中lagrange函数的参数。问题是我不知道如何在list1
中附加元素。这里的代码和完整的回溯:
def fill_cheby(list1,n,x):
if n==0:
return n, x
else:
for i in range(0,n):
x=np.cos(((2*(n-i)+1)*3.14)/(2*(n+1)))
list1.append(x)
return list1
def runge_interpolate(n):
p=lagrange(list1, runge(x))
print("Il polinomio è ", p)
return x, p
list1=[]
n=5
x=0
fill_cheby(list1,n,x)
回溯(最近通话最近一次):
File "arraycheby.py", line 33, in <module>
fill_cheby(list,n,x)
File "arraycheby.py", line 19, in fill_cheby
list1.append(x)
TypeError: descriptor 'append' requires a 'list' object but received a 'numpy.float64'