Я пытаюсь найти объем сферы, используя интеграцию Монте-Карло (для проекта, который специально попросил этот метод).
Мне успешно удалось построить это в 3D для сферы, но я изо всех сил пытаюсь получить числовое значение.
Я хочу использовать счетчики и успешно использовал следующий код для 2D-интеграции:
if np.absolute(y) <= np.absolute(f(x)):
if f(x) > 0 and y > 0 and y <= f(x): counter += 1
if f(x) < 0 and y < 0 and y >= f(x): counter -= 1
При построении я получаю следующее сообщение об ошибке:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
Я попытался включить функцию np.any ():
if np.any(np.absolute(y) <= np.absolute(f(x))):
if np.any(f(x) > 0 and y > 0 and y <= f(x)): counter += 1
if np.any(f(x) < 0 and y < 0 and y >= f(x)): counter -= 1
Но я все еще получаю то же сообщение об ошибке.
Я также пытался повторить процесс для x, y и z.
Буду очень признателен за любой совет, как это исправить.х