Метод Монте-Карло/Lesson

Материал из Поле цифровой дидактики

Оценка числа π методом Монте-Карло

# Установка параметров
n_simulations <- 1000000  # 1 миллион точек
set.seed(42)  # Для воспроизводимости

# Генерация случайных координат в единичном квадрате
x <- runif(n_simulations, 0, 1)
y <- runif(n_simulations, 0, 1)

# Расстояние от начала координат
distance <- sqrt(x^2 + y^2)

# Подсчёт точек внутри окружности (расстояние <= 1)
inside_circle <- sum(distance <= 1)

# Оценка π
pi_estimate <- 4 * inside_circle / n_simulations

# Истинное значение π
true_pi <- pi

# Вывод результатов
cat("Число Монте-Карло оценка π:", pi_estimate, "\n")
cat("Истинное π:", true_pi, "\n")
cat("Абсолютная ошибка:", abs(pi_estimate - true_pi), "\n")
cat("Относительная ошибка:", percent(abs(pi_estimate - true_pi) / true_pi), "\n")