Программа численного интегрирования
Курсовая работа, 03 Октября 2011, автор: пользователь скрыл имя
Краткое описание
В данной пояснительной записке проводится описание последовательности шагов по составлению программы на алгоритмическом языке Turbo Pascal 7.0 и результаты применения этой программы для нахождения приближенного значения интеграла численным методом Симпсона и методом трапеций. Рассматриваются вопросы математической формулировки и алгоритмизации задачи, разработки блок-схемы алгоритма её решения, составления исходной Pascal-программы и реализации вычислений по составленной программе.
Оглавление
Введение…………………………………………………………………………4
Постановка задачи………………………………………………………………5
Математическая формулировка задачи………………………………………..7
Алгоритмизация задачи…………………………………………………………9
Идентификаторы программы…………………………………………………..12
Блок-схема алгоритма…………………………………………………………..13
Текст исходной программы………………………………………………………..
Результаты выполнения программы……………………………………………...
Анализ результатов………………………………………………………………...
Инструкция по работе с программой……………………………………………..
Заключение…………………………………………………………………………
Список использованных источников……………………………………………..
Файлы: 1 файл
Пояснительная записка к курсовой.docx
— 286.05 Кб (Скачать)Министерство образования Республики Беларусь
Белорусский
национальный технический университет
Кафедра
«Горные машины»
КУРСОВАЯ РАБОТА
По
дисциплине «Информатика»
Программа
численного интегрирования
ПОЯСНИТЕЛЬНАЯ
ЗАПИСКА
Руководитель:
Ринкевич В. П.
Исполнитель: Семенова М. В.
гр.
102528
2010
Содержание
Введение…………………………………………………………
- Постановка
задачи………………………………………………………………
5 - Математическая формулировка задачи………………………………………..7
- Алгоритмизация задачи…………………………………………………………9
- Идентификаторы
программы…………………………………………………..
12 - Блок-схема
алгоритма………………………………………………………
…..13 - Текст исходной
программы………………………………………………………
.. - Результаты выполнения программы……………………………………………...
- Анализ результатов…………………………………………………
……………... - Инструкция по работе с программой……………………………………………..
Заключение……………………………………………………
Список использованных источников……………………………………………..
Введение
В
курсовой работе в соответствии с
заданием на проектирование решается
задача разработки программы вычисления
определенных интегралов численными методами.
Численное интегрирование используется,
когда аналитическое нахождение
значений первообразной функции
сложно или вообще невозможно.
В
данной пояснительной записке
Выбор
метода вычисления, обращение к справке
по программе и выход из программы
обеспечивается с помощью специального
меню. Ввод исходных данных и вывод
результатов вычисления интеграла
выполняется в отдельном для
каждого метода вычислений окне.
В
пояснительной записке
- Постановка задачи
Ставится
задача составить программу вычисления
интеграла вида
I=
(1)
где a и b – нижний
и верхний пределы интегрирования, f(x)
– непрерывная интегральная функция на
отрезке [a, b]. Такой определённый интеграл
можно трактовать как площадь фигуры (рисунок
1), ограниченной ординатами a и b, осью абсцисс
x и графиком подынтегральной функции
f(x).
Рисунок
1. К вычислению определенного интеграла
Обыкновенный
определённый интеграл, у которого
известна его первообразная F(x), вычисляется
по формуле Ньютона-Лейбница
I=F(b)-F(a)
(2)
Численное
интегрирование применяется, если нахождение
F(x) сложно или невозможно. Оно заключается
в интерполяции f(x) на отрезке [a, b] подходящим
полиномом, для которого известна первообразная
F(x). Обычно отрезок [a, b] разбивается на
N частей, к каждой применяется соответствующая
простая формула.
Таким образом, программа должна обеспечивать возможность:
- быструю смену подынтегральной функции f(x) путем замены аналитического выражения ее правой части в подпрограмме – функции;
- выбором пользователем численного метода вычисления интеграла;
- ввода с клавиатуры значений пределов интегрирования a и b и количества интегралов разбиения n;
- вывода результатов вычисления на дисплей в удобном для восприятия виде с отображением названия выбранного численного метода, значений пределов интегрирования и принятого числа интегралов разбиения;
- программа после загрузки должна выводить на дисплей исходное окно-заставку, в которой отображаются общие сведения о статусе программы и ее авторах;
- после выполнения указанной в строке подсказки процедуры перехода должно выводиться вертикальное меню с пунктами: «Справка», «Метод Симпсона», «Метод трапеций» и «Выход»;
- при выборе в меню пункта «Справка» должна выводится краткая выводиться краткая справка о назначении программы и порядке работы с ней;
- после выбора в меню варианта численного метода должно открываться отдельное окно, в котором будут выводиться запросы программы о значениях пределов интегрирования, числе интегралов разбиения и в этом же окне после ввода исходных значений будет выводиться результат вычисления интеграла выбранным методом;
- при выборе пункта меню «Выход» программы должна завершать работу.
- Математическая формулировка задачи
Метод Симпсона.
Подынтегральную
функцию f(x) заменим интерполяционным
полиномом второй степени P2(x) –
параболой, проходящей через узлы x0,
x1, x2 (рис 2), тогда
(3)
где R – погрешность вычисления интеграла.
| f(x) | |||||
| P2(x) | |||||
| x0 | x1 | x2 | x |
Рисунок
2. Метод Симпсона
Для
записи полинома P2(x) воспользуемся
интерполяционной формулой Ньютона для
трех узлов
P2(x)=f0+f01(x-x0)+f012(x-x0)(
где
,
- разделенные разности; h – расстояние между узлами.
Введем
новую переменную z=x-x0, тогда x=z+x0
и полиномом (4) принимает вид
P2(z)=f0+(f01-f012h)z+f012z2
Теперь
вычислим интеграл от полинома (5)
Последнее соотношение называют квадратурной формулой Симпсона, или формулой парабол где
f0=f(x) (7)
– значение
подынтегральной функции при текущем
значении x;
Метод трапеций.
Подынтегральную
функцию заменим на участке [xi,
xi+h] полиномом первой степени P1(x).
Такая аппроксимация неоднозначна. Одним
из возможных способов является проведение
прямой через значения функции на границах
интервала интегрирования (рис. 3). В этом
случае приближенное значение интеграла
определяется площадью трапеции
| f(x) | |||||
| f(xi+h) | |||||
| f(xi) | |||||
| xi | xi+h | x |
Рисунок 3. Метод трапеций
- Алгоритмизация задачи
В соответствии с постановленной в разделе 2 задачей целесообразно реализовать алгоритм, использующий обращение к соответствующим подпрограммам из головной программы.
Алгоритм работы головной программы следующий:
- Скрыть курсор с использованием подпрограммы – процедуры скрытия курсора и вывести в специальном окне заставку программы, содержащую сведения о назначении программы, исполнителе и руководителе курсовой работы, а также подсказку для пользователя о последующих действиях, с использованием подпрограммы – процедуры заставки.
- Запустить подпрограмму-процедуру вертикального меню при нажатии любой клавиши с использованием подпрограмм-процедур построения окна, вывода рамки окна и скрытия курсора.
- Запустить подпрограмму-процедуру справки и вывести в специальном окне справочные сведения о работе с программой при выборе пункта меню «Справка» с использованием подпрограмм-процедур построения окна, вывода рамки окна и скрытия курсора, а также строки-подсказки о возврате в меню.
- Запустить подпрограмму-процедуру вычисления интеграла методом Симпсона при выборе пункта меню «Метод Симпсона» с использованием подпрограмм-процедур построения окна, вывода рамки окна и выключения курсора, а также строки-подсказки о возврате в меню.
- Запустить подпрограмму-процедуру вычисления интеграла методом трапеций при выборе пункта меню «Метод трапеций» с использованием подпрограмм-процедур построения окна, вывода рамки и включения курсора, а также строки-подсказки о возврате в меню.
- Завершить работу программы при выборе пункта меню «Выход».
Алгоритм вычисления интеграла методом Симпсона в подпрограмме-процедуре включает следующие шаги:
- Создать окно для ввода исходных данных и вывода результатов вычисления по методу Симпсона.
- Восстановить отображение курсора нормального размера соответствующей подпрограммой-процедурой.
- Ввести нижний a и верхний b пределы интегрирования как границы отрезка интегрирования и количество n интервалов его разбиения.
- Вывести в окне запрос о правильности ввода a, b и n.
- Выполнить анализ кода нажатой в ответ на запрос клавиши: при нажатии «Y» перейти к вычислениям, при нажатии любой клавиши перейти к пункту 3 алгоритма.
- Вычислить значение шага по h формуле h=(b-a)/n.
- Присвоить первоначальному значению интеграла s нуль и начальному значению аргумента x0 значение a.
- Организовать цикл по i от 1 до n.
- Вычислить по формулам (7) – (9) значения f0, f1 и f2.
- Вычислить значение s=s+ f0+4 f1+ f2.
- Вычислить новое значение x=x+h.
- Закончить цикл по i.
- Вычислить конечное значение интеграла s=s*h/6.
- Вывести результаты вычислений в том же окне.
- Вывести в окне запрос о продолжении вычислений с новыми исходными данными.
- Выполнить анализ кода нажатой в ответ на запрос клавиши: при нажатии «Y» перейти в окно с меню, при нажатии любой другой клавиши прейти в окно с заставкой программы.
Алгоритм вычисления интеграла методом трапеций в подпрограмме-процедуре включает:
- Создать окно для ввода исходных данных и вывода результатов вычисления по методу трапеции.
- Восстановить отображение курсора нормального размера соответствующей подпрограммой-процедурой.
- Ввести нижний a и верхний b пределы интегрирования как границы отрезка интегрирования и количество n интервалов его разбиения.
- Вывести в окне запрос о правильности ввода a, b и n.
- Выполнить анализ кода нажатой в ответ на запрос клавиши: при нажатии «Y» перейти к вычислениям, при нажатии любой клавиши перейти к пункту 3 алгоритма.
- Вычислить значение шага h по формуле h=(b-a)/n.
- Присвоить первоначальному значению интеграла s нуль и начальному значению аргумента x0 значение a.
- Организовать цикл по i от 1 до n.
- Вычислить значения f0 и f1
- Вычислить значение s=s+ f0+f1.
- Вычислить новое значение x=x+h.
- Закончить цикл по i.
- Вычислить конечное значение интеграла s=s*h/2.
- Вывести результаты вычислений в том же окне.
- Вывести в окне запрос о продолжении вычислений с новыми исходными данными.
- Выполнить анализ кода нажатой в ответ на запрос клавиши: при нажатии «Y» перейти в окно с меню, при нажатии любой другой клавиши прейти в окно с заставкой программы.