Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.77
yardie
9 / 9 / 0
Регистрация: 14.07.2010
Сообщений: 166
#1

Вычисление числа Пи методом Монте-Карло - C++

28.10.2010, 15:26. Просмотров 3994. Ответов 2
Метки нет (Все метки)

Решаю задачи по рандомным числам и столкнулся вот с такой"Вычисление числа Пи методом Монте-Карло". Подскажите как это реализовать в С++, мне для примера хотябы нужно!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2010, 15:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычисление числа Пи методом Монте-Карло (C++):

Вычисление числа Пи методом Монте-Карло - C++
Всем доброго время суток. Написать программу для вычисления значения \pi с помощью метода Монте-Карло. Для этого рассмотреть квадрат с...

Вычисление интеграла методом Монте-Карло - C++
Нужно вычислить интеграл, как показано на первой картинке внизу темы. На второй картинке сам интеграл. Написал программу, но она выдает это...

Вычисление интеграла методом Монте-Карло - C++
Здравствуйте! Задача такая: пользователь в текстовом файле задает координаты точек (любое количество точек), программа считывает...

Вычисление площади методом Монте-Карло - C++
Всем доброго время суток. Написать программу для вычисления методом Монте-Карло площади S тела, ограниченного кривыми x*y = a и x + y =...

Вычисление интеграла геометрическим методом Монте-Карло - C++
Всем доброго времени суток. В универе дали задание: вычислить интеграл \int_{0}^{1}dx\int_{0}^{1-x}(1-x-y)dy геометрическим методом...

Вычисление объема произвольного тела методом Монте-Карло - C++
Всем доброго время суток. Написать программу для вычисления методом Монте-Карло объема V тела, ограниченного поверхностями: z = {x}^{2}...

2
KuKu
1558 / 1036 / 78
Регистрация: 17.04.2009
Сообщений: 2,987
28.10.2010, 15:57 #2
Цитата Сообщение от yardie Посмотреть сообщение
Решаю задачи по рандомным числам и столкнулся вот с такой"Вычисление числа Пи методом Монте-Карло". Подскажите как это реализовать в С++, мне для примера хотябы нужно!
тут вполне внятно написано, как это делать.

Добавлено через 3 минуты
По идее еще можно как то так: площадь круга S=pi*r^2, задаешь радиус, находишь площадь методом монте-карло и выражаешь pi.
Еще можно считать интеграл пуассона (или тому подобное), а далее по аналогии с кругом.
0
Mr.X
Эксперт С++
3049 / 1694 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
29.10.2010, 13:52 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
//////////////////////////////////////////////////////////////////////////////////////
#include <cstdlib>
#include <ctime>
#include <iostream>
//////////////////////////////////////////////////////////////////////////////////////
typedef double  T_real;
//////////////////////////////////////////////////////////////////////////////////////
T_real  get_Monte_Carlo_pi(int  n)
{    
    int  count = 0;
    for(int i = 0; i < n; ++i)
    {
        T_real  X_coord = -1.0 + static_cast<T_real>(rand()) / RAND_MAX * 2.0;    
        T_real  Y_coord = -1.0 + static_cast<T_real>(rand()) / RAND_MAX * 2.0;
        if(X_coord * X_coord + Y_coord * Y_coord < 1.0)
        {
            ++count;
        }
    }
    return  static_cast<T_real>(count) / n * 4.0;
}
//////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    srand(static_cast<unsigned>(time(0)));
    std::cout << "Введите число испытаний: ";
    int n = 0;
    std::cin >> n;
    std::cout << "При "
              << n
              << " испытаний по методу Монте-Карло число ПИ равно: "
              << get_Monte_Carlo_pi(n)
              << std::endl;
}
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2010, 13:52
Привет! Вот еще темы с ответами:

Вычислить методом Монте-Карло - C++
Помогите Вычислить методом Монте-Карло: а)площадь фигуры, ограниченной половиной синусоиды; б)площадь фигуры, ограниченной квадратной...

Интегрирование методом Монте-Карло - C++
доброго времени суток форумчане, была поставлена задача написать программу которая будет вычислять интеграл методом Монте-Карло вот что я...

Таблица умножения методом Монте-Карло - C++
Пожалуйста помогите, нужна программа для вывода таблицы умножения методом Монте-Карло

Странный интеграл методом Монте-Карло - C++
Вычислить интеграл методом монте-карло. Лекцию проболел, а из найденных источников нашел только как с обычными интегралами работать, не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru