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

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

Войти
Регистрация
Восстановить пароль
 
REmakerzz
0 / 0 / 0
Регистрация: 23.04.2013
Сообщений: 3
#1

Монте-карло - C++

23.04.2013, 18:36. Просмотров 447. Ответов 1
Метки нет (Все метки)

Преподаватель попросил разобрать метод монте-карло, и реализовать его в c++, помогите реализовать метод в с++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2013, 18:36     Монте-карло
Посмотрите здесь:

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

Метод Монте-Карло(непонятная неработоспособность программы) - C++
Написал программу, которая вычисляет интеграл методом Монте-Карло. Вроде как код проверял, перепроверял и должно быть всё верно. Но при...

Метод-Монте карло. Не работает генератор случайных чисел - C++
Аглоритм простой: Координаты - случайные величины. При каждой итерации проверяется пододает ли случайная точка из куба 1*1*1 в заданную...

Метод Монте-Карло (вероятность попадания при стрельбе) - C++
В общем задача такова: Добавить Метод Монтекарло, что бы показывало всевозможные попытки расчета вероятности. Сама задача: Производится...

Методом Монте-Карло определить площадь заштрихованой фигуры - C++
Нарисовать линиями в Chart for (int i=0; i<=100; i++) { x=i; ...

Найти объём сферы методом Монте-Карло и определить точность - C++
Помогите решить 2 задачи в программе C 1) заданы координаты вершин треугольников. Определить, является ли этот треугольник...

Нужно составить программу решения задачи оптимального выбора методом случайного тпоиска(монте-карло) - C++
Задана таблица из 10 элементов. Вес 16 11 12 13 14 15 16 17 18 19 Цена 18 20 17 19 22 21 27 23 25 24 Нужно составить...

Метод Монте-Карло! - C#
Доброго времени суток, форумчане! У меня вопрос по поводу метода Монте-Карло, никак не могу найти его реализацию на каком-нибудь языке...

Метод Монте-Карло - Численные методы
Помогите пожалуйста разобраться. В чём же всё таки заключается метод Монте-Карло для вычисления площади произвольной фигуры. Например есть...

Метод Монте-Карло - Matlab
Добрый вечер, я хотела бы попросить помочь разобраться с методом Монте-Карло для вычисления площади. Необходимо взять две кривые, не...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
23.04.2013, 18:45     Монте-карло #2
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
 
 
 
double f( double x, double y ) {
    return ((x*x+1)/(x*x*x*x-x*x+1));
}
 
int main() {
 
    srand( time ( NULL ) );//чтобы генерированые числа в рандоме не повторялись
   
 
    double Zmax = 0., t, x = 0., y, z;//объявление переменных
    double SumINTEGR = 0., INTEGR = 0., averINTEGR;
    int i, j, HIT;
 
    for ( i = 0; i < 100; ++i ) {
 
        y = 0.;
 
        for ( j = 0; j < 100; ++j ) {
            if( Zmax < ( t = f( x, y ) ) )
                Zmax = t;
            y += 0.01;
        }
        x +=0.01;
    }
 
 
    for( i = 0; i < 10; ++i ) {
 
        // Число попаданий точек в искомый объем под поверхностью функции
        HIT = 0;
 
        //Значение интеграла
        INTEGR = 0.;
 
        for( j = 0; j < 183065; ++j ) {
 
           x = (double) ( rand() ) / RAND_MAX;//заполняем x  в интервале 0 1
           y = (double) ( rand() ) / RAND_MAX;
           z = (double) ( rand() ) * 10.0 / RAND_MAX;
 
            if( z <= f( x, y ) )//проверка
                ++HIT;
 
        }
 
        INTEGR = (double) HIT / 183065. * 10.;
        SumINTEGR += INTEGR;//значение интеграла
    }
 
    // Среднее значение интеграла в 10 случаях
    averINTEGR = SumINTEGR / 10.;
 
    printf( "Значение интеграла   = %lf\n", averINTEGR );
    printf( "Z максимальное       = %lf\n", Zmax );
 getch ();
    return 0;
}
Метод Монте-Карло
Ответ Создать тему
Опции темы

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