Мне интересно, почему y
возвращается в виде массива.Если это поможет, x
- это пустой массив.
Я пока не дошел до того места, где мне нужно хранить значения y
в массиве, но я пытаюсь найти среднее значение N_obs_photon(t)
по мелкомасштабной сетке, чтобы получить сглаженный график N_obs_photon(t)
по грубо масштабированной сетке.Я думаю, что часть с sum(array)/len(array)
должна давать мне float, но вместо этого она возвращает массив (точнее 1001 массив).Даже если я попытаюсь установить x
для какого-либо массива только с одним значением, y
все еще возвращается как массив.И как мне написать так, чтобы мне дали среднее значение для y
?
x = np.linspace(0,1,1001)
ftc = 11
L = 10**(-3)
i = x/L
j = np.arange(0,11001,1) #end number is max(i)*ftc + 1
'''reference:
fine_grid_number = j
coarse_grid_number = i
coase_grid_width = L
fine_grid_width = L/ftc #denominator is ftc
coarse_grid_position = i*L
fine_grid_position = j*L/ftc #denominator is ftc'''
#Plan is to create an array of y values, then plot x vs y
for n in i:
q = np.arange(-0.5*(ftc-1),0.5*ftc,1)
#temp_array = np.empty([])
temp_array = []
for w in q:
t = ftc*n + w #t is fine grid number
t = t*L/ftc #convert to fine grid position
if t < 0: #drop t when it would be less than zero
t = 0
temp_array.append(t) #add to array
else:
t = N_obs_photon(t) #take through function
temp_array.append(t) #add to array
y = sum(temp_array)/len(temp_array) #average the array
print(y) #test if y is a number
#store result in y array