Ошибка: ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
Всем привет! Выходит следующая ошибка:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
Задал массив с координатами:
xc = np.array([630, 439, 1927, 1026, 955, 1339, 1410]) # coord. "x"
yc = np.array([1117, 1099, 1648, 1308, 1344, 1439, 1478]) # coord. "y"
Пытаюсь их впихнуть в формулу с условием:
if (x-xc)**2+(y-yc)**2 <= r*r:
где xc и yc наши массивы.
Суть ошибки пониманию, но не понимаю как сделать так, что бы массив туда смог интегрироваться :/ Заранее спасибо за ответы
Вот обсуждаемая часть кода, на всякий случай:
- star cicle
for i in range(0, 7):
xc = np.array([630, 439, 1927, 1026, 955, 1339, 1410]) # coord. "x"
yc = np.array([1117, 1099, 1648, 1308, 1344, 1439, 1478]) # coord. "y"
r = np.array([5.57, 5.57, 5.57, 5.57, 5.57, 5.57, 5.57]) # set aperture rad. > 2*fwhm ("Set aperture radius")
r1 = np.array([4, 4, 4, 4, 4, 4, 4]) # set interior rad. ("Set gap width")
r2 = np.array([5, 5, 5, 5, 5, 5, 5]) # set external rad. ("Set annulus thickness")
- coord. cicle
for x in range(150, 2000):
for y in range(150, 2000):
if (x-xc)**2+(y-yc)**2 <= r*r:
A[i] += flux[x][y]
d1 = d1+1
if r1*r1 <= (x-xc)**2+(y-yc)**2 <= r2*r2:
B[i] += flux[x][y]
d2 = d2+1
B[i] = (B[i]/d2)*d1
C[i] = A[i] - B[i] #уберает ФОН
mag[i] = 2.5*np.log10(C[0]/C[i])+m2
print("mag=", mag[i])
d1 = d2 = 0