我试图将使用ODEINT计算的值#y附加到名为#y_list的列表中。我创建了一个名为#saves_vals的新函数,该函数在每个迭代点都执行此操作。该列表随着迭代的进行而增长(这很好),但是新的#y值替换了先前生成的所有值。我试图使用#y [:]创建#y值的副本,但是这仍然失败。我是python的新手。请协助
从matplotlib导入pyplot作为plt 将numpy导入为np 从scipy.integrate导入odeint
y_list =[]
def saves_vals(list_y,y):
print (" the value of y being used now is " +str(y))
list_y.append(y[:])
print ( " this is the y_list, as it grows " + str(list_y))
return (list_y)
def model(y,t):
k= saves_vals(y_list,y)
dydt = - 2.0 *y
return dydt
t = np.linspace(0, 10, 10)
y_0 = 10
y = odeint(model,y_0,t)
plt.figure(figsize =(4,4))
plt.plot(t,y)
plt.show()
我希望y值的列表随着迭代的进行而增长,但是会保留过去迭代的结果以供以后比较