Как мне работать со счетчиками, чтобы найти объем трехмерных объектов (интеграция Монте-Карло)? - PullRequest
1 голос
/ 25 апреля 2019

Я пытаюсь найти объем сферы, используя интеграцию Монте-Карло (для проекта, который специально попросил этот метод).

Мне успешно удалось построить это в 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.

Буду очень признателен за любой совет, как это исправить.х

...