У меня есть вопрос, касающийся моего кода для оценки данных эксперимента: в первом цикле for я открываю файл за файлом, который хочу проанализировать.внутри этого цикла for, поэтому внутри одного файла я хочу создать второй цикл for для оценки некоторых конкретных параметров для оценки.когда я делаю это только для одного файла, параметры верны, но когда я зацикливаюсь на всех файлах, похоже, что во втором цикле for эти параметры суммируются.таким образом, нормальное значение должно быть в диапазоне ar = 0,0001, для одного файла отлично работает.когда я перебираю файлы, я получаю 0,0001 для первого, 0,0002 для второго, 0,0003 для трида и т. д.
update:
ок, так что вот и всечасть кода.для каждого файла, который я хочу после подгонки данных, получить сумму по разнице между двумя точками данных в первом столбце (x [j]) внутри файла, умноженными на значение coressponding во втором столбце n (y [j]) (каждый файлимеет два столбца длиной 720 точек данных), и результат этого должен быть сохранен в AR для каждого файла.
def sum_list(l):
sum = 0
for k in l:
sum += k
return sum
INV= []
DIFFS= []
AR= []
for i in range(0,len(fnames)):
data= np.loadtxt(fnames[i])
x= data[:,0]
y=data[:,1]
gmod=lm.Model(linmod)
result= gmod.fit(y, x=x, p=0.003, bg=0.001)
plt.plot(x, y)
plt.plot(x, result.best_fit, 'r-')
plt.show()
print result.best_values['bg']
print result.best_values['p']
p= result.best_values['p']
bg1= result.best_values['bg']
for j in range(0, 719):
diffs = ((x[j+1]- x[j])*y[j])
DIFFS.append(diffs)
ar= sum_list(DIFFS)
AR.append(ar)
inr= (x[0]-bg1)*(y[0]**3)/3 + ar
INV[i]= inr