Описание файла input_number.cpp




РЕФЕРАТ

Курсовая работа 18с, 4 рисунка, 3 таблицы, 1 источник, 2 приложения.

ВЫЧИСЛЕНИЕ ИНТЕГРАЛА, РАЗРАБОТКА, ГАУСС-ЛЕЖАНДР, С++

Объектом исследования являются квадратуры Гаусса-Лежандра.

Цель работы – разработка программы приближенного вычисления определенного интеграла.

Разработанная программа позволяет получить приближенное значение интеграла, и погрешность расчётов.

В ходе разработки был использован метод Гаусса-Лежандра.

Программное обеспечение создано при помощи компилятора GNU C++ и среды редактирование SUBLIME. Пояснительная записка выполнена в редакторе Microsoft Word 2012

 


 


Оглавление

1.Введение. 5

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

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

3.1 Описание файла main.cpp. 8

3.2 Описание файла input_number.cpp. 8

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

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

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

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

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

5.4. Ввод данных из файла. 11

5.5. Примечание. 11

6.Заключение. 12

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

Приложение А Блок-схема программы.. 14

Приложение Б Листинг программы.. 15

Файл main.cpp. 15

Файл input_number.cpp. 18

 

 


Введение

Главной целью работы является разработка программного продукта, который позволяет существенно ускорить вычисление интеграла путем автоматизации. И впоследствии использоваться в учебном процессе и в научных расчетах.

В основу программного продукта заложен метод Гаусса-Лежандра для трех функций:

 

Задачи: реализовать ввод данных с проверкой на корректность, вычислить интеграл, вывести полученные данные и погрешности для анализа.

 


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

Идею метода поясняет рис. 2.1. В методе трапеций, к примеру, погрешности аппроксимации суммируются для каждого интервала (рис. 2.1а), причем при заданном шаге мы не можем уменьшить погрешность, поскольку краевые точки интервала жестко заданы. Напротив, в методе высокоточных квадратур функция на искомом интервале аппроксимируется полиномом, который в зависимости от его параметров пересекает искомую функцию в нескольких точках (например, в двух в случае квадратичной функции) и эти точки мы можем подобрать таким образом, чтобы скомпенсировать наилучшим образом погрешности аппроксимации с разными знаками (рис. 2.1б). Далее, значение интеграла вычисляется на рассматриваемом интервале как сумма значений функции в данных точках с соответствующими весами. При этом, как правило, высокая точность расчетов достигается уже для аппроксимирующих полиномов невысокой степени (2–6). [1]

Рисунок 2.1 – Пример вычисления интеграла

В квадратурах Гаусса–Лежандра изначально рассматривается задача вычисления интеграла на отрезке [−1, 1]:

Где xi – веса с которыми берутся значения функции в точках xi.

Для произвольного интервала интегрирования функция сводится к следующему виду

-Уравнение для произвольного интервала

Где

Квадратуры Гаусса-Лежандра требуют минимум вычислений для достижения заданной точности интегрирования

Таблица 2.1 – Весовые коэффициенты и значения аргумента

Число точек в квадратуре Весовые коэффициенты Значения аргумента Погрешность аппроксимации
  w0 = 1 w1 = 1 x0 = −0, 577350269 x1 = +0, 577350269 ∼ f (4)(x)
  w0 = 0, 555555556 w1 = 0, 888888889 w2 = 0, 555555556 x0 = −0, 774596669 x1 = +0, 000000000 x2 = +0, 774596669 ∼ f (6)(x)
  w0 = 0, 347854845 w1 = 0, 652145155 w2 = 0, 652145155 w3 = 0, 347854845 x0 = −0, 861136312 x1 = −0, 339981044 x2 = +0, 339981044 x3 = +0, 861136312 ∼ f (8)(x)
  w0 = 0, 236926885 w1 = 0, 478628670 w2 = 0, 568888889 w3 = 0, 478628670 w4 = 0, 236926885 x0 = −0, 906179846 x1 = −0, 538469310 x2 = +0, 000000000 x3 = +0, 538469310 x4 = +0, 906179846 ∼ f (10)(x)
  w0 = 0, 171324492 w1 = 0, 360761573 w2 = 0, 467913935 w3 = 0, 467913935 w4 = 0, 360761573 w5 = 0, 171324492 x0 = −0, 932469514 x1 = −0, 661209386 x2 = −0, 238619186 x3 = +0, 238619186 x4 = +0, 661209386 x5 = +0, 932469514 ∼ f (12)(x)

 


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

Программа состоит из двух файлов в одном исполнена основная логика программы, во втором проверка вводимых данных

Описание файла main.cpp

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

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

double a1,b1,c1 – коэффициенты функции

int func_chose– вид функции

double a,b – пределы интегрирования

int type_input – выбор ввода данных

int n – количество разбиений.

Ход выполнения программы:

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

Описание файла input_number.cpp

В файле функция input_number принимает на вход 3 аргумента: набор символов для вывода на экран пользователю при запросе данных, и минимальное и максимальное значения при которых считанные данные будут актуальны.

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

Листинг программы представлен в приложении Б.

 




Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-06-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: