for 循环中的值不会在循环外返回

时间:2021-06-29 03:37:33

标签: python for-loop append

这是我的代码:

fig,ax = plt.subplots(figsize = (10,5))
t = np.linspace(0, 700, 700)
#print(len(signal[0, :]))
chi_sqr_tab = []
def expo_func(t, a, t0, tau0, tau1, c):
    S = a * (1 - np.exp(-(t - t0)/tau0)) * np.exp(-(t - t0)/tau1) + c
    return S
for i in range (len(signal[:, 0])):
    popt, pcov = curve_fit(expo_func, t ,signal[i, :], maxfev=9600)
    plt.plot(t, expo_func(t,*popt),linestyle='-')
    #print(len(popt))
    for j in range (4):
        chi_sqr = (signal[i,j] - popt[j-1]) / popt[j-1]
    chi_sqr_sum = np.sum(chi_sqr)
    #print(chi_sqr)
    chi_sqr_tab.append(chi_sqr_sum)
    #print(chi_sqr_tab)
print(len(chi_sqr_tab))

我试图打印出 for 循环中的值,它确实打印出值!但是当我尝试在循环外打印时,它什么也没打印?为什么会这样?我的意思是,我认为 .append 用于在循环外向列表添加值,对吗?它应该按照我的经验工作(它适用于我所有的其他代码)

0 个答案:

没有答案