Ошибка: 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

Ответы (0 шт):