Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 Содержание.docx
Скачиваний:
1
Добавлен:
23.09.2019
Размер:
496.76 Кб
Скачать

Содержание

Введение 2

  1. Описание метода решения задачи 3

  2. Описание программы 4

2.1. Описание файла const.h 5

2.2. Описание файла fdonk.h 6

2.3. Описание файла fequa.h 6

2.4. Описание файла MCmain.cpp 6

  1. Описание методики тестирования программы 7

  2. Руководство пользователя по работе с программой 10

4.1. Установка программы 10

4.2. Запуск программы 10

    1. Ввод данных с клавиатуры 10

    2. Примечание 10

  1. Блок-схема программы 11

Заключение 19

Список использованных источников 20

Приложение А Файл const.h 21

Приложение B Файл fdonk.h 22

Приложение C Файл fequa.h 24

Приложение D Файл MCmain.cpp 28

Введение

Необходимость применения численного интегрирования чаще всего может быть вызвана отсутствием у первообразной функции представления в элементарных функциях и, следовательно, невозможностью аналитического вычисления значения определенного интеграла по формуле Ньютона-Лейбница. Также возможно ситуация, когда вид первообразной настолько сложен, что быстрее вычислить значение интеграла численным методом.

Существует несколько способов вычисления численного интегрирования, такие как метод трапеций, метод парабол, метод Гаусса-Кронрода. Преимущество метода Монте-Карло заключается в том, что этот алгоритм максимально прост для понимания и реализации. Его недостатком является то, что он обеспечивает гораздо меньшую точность по сравнению с другими алгоритмами.

Основной целью работы является разработка алгоритма программного продукта, который может использоваться в учебном процессе для иллюстрации работы алгоритма вычисления интеграла методом Монте -Карло для трех функций:

Задачи: реализовать ввод данных с проверкой на корректность, вычислить интеграл методом Монте-Карло, реализовать графический модуль для демонстрации принципа работы алгоритма.

  1. Описание метода решения задачи

  • Ограничим функцию прямоугольником (n-мерным параллелепипедом в случае многих измерений), площадь которого   можно легко вычислить;

  • «Набросаем» в этот прямоугольник (параллелепипед) некоторое количество точек (N штук), координаты которых будем выбирать случайным образом;

  • Определим число точек (K штук), которые попадут под график функции;

  • Площадь области, ограниченной функцией и осями координат, S задаётся выражением

 

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

  1. Описание программы

Программа представляет собой единственный исполняемый файл. Она не создает служебных файлов в процессе работы и не используется дополнительными файлами.

Программируемый алгоритм работает следующим образов. Сначала программа выводит диалоговое окно, в котором пользователь должен выбрать уравнение для решения. Затем, программа дает возможность выбрать дополнительные параметры с клавиатуры. Все данные проверяются на корректность ввода. При некорректных данных программа выдает соответствующую ошибку. При вводе нецелого числа, дробная часть отбрасывается. После корректного введения исходных данных, программа начинает работу и выводит графическое иллюстрирование решение данного уравнения.

    1. Описание файла const.H

В программе используются следующие константы:

Пределы интегрирования [-1000;1000];

Максимальное количество произвольных точек [1;500].

Глобальные переменные:

float donk, donk0 – переменные для проверки корректности ввода в специальных функциях;

float x0, x1 – пределы интегрирования;

float x, y – переменные для упрощенного построения графика и сравнений точек;

float n – количество произвольных точек;

float xmin, xmax, ymin, ymax – максимальные и минимальные значения по OY и OX;

float tchn – точно значение интеграла;

float step – шаг;

char kf – представление уравнения в диалоговом окне.

Объявления функций:

float donkey1() – проверка на корректность ввода номера уравнения;

float donkey2() – проверка на корректность ввода пределов интегрирования;

float donkey3() – проверка на корректность ввода коэффициентов;

int donkey4() – проверка на корректность ввода количества производных точек;

float equation1() – решение первого уравнения;

float equation2() – решение второго уравнения;

float equation3() – решение третьего уравнения.

    1. Описание файла fdonk.H

В файле fdonk.h хранятся функции на проверку корректности ввода и функции генератора случайных чисел типа float с точностью до сотых. Эти функции непосредственно вызываются из функции main().

Переменные в функциях типа donkey[1,2,3]():

Bool right – флаг выполнения условия;

Float donx0, donkx1 – промежуточные переменные.