УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
ФИЛИАЛ В ГОРОДЕ СТЕРЛИТАМАК
КАФЕДРА ЕСТЕСТВЕННО-НАУЧНЫХ И ОБЩЕПРОФЕССИОНАЛЬНЫХ ДИСЦИПЛИН
ИССЛЕДОВАНИЕ МЕТОДОВ ВЫЧИСЛЕНИЯ ОПРЕДЕЛЕННЫХ ИНТЕГРАЛОВ
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовой работе по ИНФОРМАТИКЕ
2403.302413.000ПЗ
(обозначение документа)
Группа ВТС-109 | Фамилия, и. о. | Подпись | Дата | Оценка |
Студент | Терещук А.И. | |||
Консультант | Карасев Е.М. | |||
Проверил |
Стерлитамак 2011г.
Содержание
Введение
Теоретическая часть
Метод Симпсона (парабол)
Пример применения
Практическая часть
Программное вычисление
Визуализация методов
Заключение
Список литературы
При решении ряда актуальных физических и технических задач встречаются определенные интегралы от функций, первообразные которых не выражаются через элементарные функции. Кроме того, в приложениях приходится иметь дело с определенными интегралами, сами подынтегральные функции которых не являются элементарными. Это приводит к необходимости разработки приближенных методов вычисления определенных интегралов.
Мне была поставлена задача исследовать два метода вычисления определенных интегралов: метод трапеций и метод Симпсона (парабол)
метод трапеция симпсон интеграл
Пусть требуется вычислить интеграл
. Разобьем сегмент на nравных частей при помощи точек . Метод трапеций заключается в замене интеграла суммой площадей трапеций с основаниями, соответственно равными и , и с высотами, равными .Таким образом, справедлива формула:
,Где R - остаточный член. Это формула называется формулой трапеций.
Рисунок 1 - Криволинейная трапеция
По методу трапеций интеграл равен сумме площадей прямоугольных трапеций, где основание трапеции какая-либо малая величина (точность), и сумма площадей прямоугольников, где основание прямоугольника какая-либо малая величина (точность), а высота определяется по точке пересечения верхнего основания прямоугольника, которое график функции должен пересекать в середине.
Рисунок 2 - Метод трапеций
Для вычисления интеграла
снова разобьем сегмент на nравных частей при помощи точек и обозначим через середину сегмента . Метод парабол заключается в замене интеграла суммой площадей фигур и представляющий собой трапеции, лежащие под параболами, проходящими через три точки графика функции f (x) cабсциссами .Таким образом, справедлива формула:
,Где R - остаточный член. Это формула называется формулой Симпсона.
Рисунок 3 - График функции
y0 | y1 | y2 | y3 | y4 | y5 | y6 | y7 | y8 | y9 | y10 | |
x | 0 | 0,1 | 0,2 | 0,3 | 0,4 | 0,5 | 0,6 | 0,7 | 0,8 | 0,9 | 1 |
y | 1 | 0,86 | 0,76 | 0,68 | 0,6 | 0,55 | 0,5 | 0,47 | 0,46 | 0,43 | 0,41 |
Найдем площадь криволинейной трапеции методом трапеций:
S=0,1* ( (1+0,41) /2+0,86+0,76+0,68+0,6+0,55+0,5+0,47+0,46+0,43) =0,6025 кв. ед
Найдем площадь криволинейной трапеции методом Симпсона:
S=0,0017*2* (1+0,41+2* (0,76+0,6+0,5+0,46) +4* (0,86+0,68+0,55+0,47+0,43)) =
=0,6123 кв. ед
Программа разрабатывается в объектно-ориентированной среде программирования Lazarus.
Перед началом программирования, была создана форма Заставка.
Рисунок 4 - Заставка
В этом окне расположены:
· Кнопка "Запуск", позволяющая приступить к началу программы;
· Компоненты Label;
Затем была создана основная форма Меню, позволяющая выбирать операции.
Рисунок 5 - Основная форма
Данное окно представляет главное окно программы.
В этом окне расположены:
· Компоненты Label для подписи компонентов Edit;
· Компонент MainMenuдля выбора операции;
Далее была создана форма Параметры, предназначенная для введения данных.
Рисунок 6 - Параметры
В этом окне расположены:
· Компоненты Label для подписи компонентов Edit;
· Две кнопки: "OK" - принимает данные и возвращается на главное меню; "Отмена" - позволяет вернуться к главному окну, не принимая данных;
Затем была создана форма Решение, на которой будет показана площадь по разным методам вычислений и визуализироваться один из методов.
Рисунок 7 - Решение
В этом окне расположены:
· Компонент Label для подписи компонента Edit;
· Две кнопки: "График" - визуализирует метод трапеций; "OK" - принимает данные и возвращается на главное меню;
· Компонент Chartдля отображения графика;
Следующая форма была создана сравнение методов, то есть для исследования методов на погрешность с заданной точностью.
Рисунок 8 - Исследование на погрешность
В этом окне расположены:
· Три кнопки: Кнопка "График погрешности" визуализирует сравнение методов; Кнопка "Сохранить" сохраняет результаты сравнения в текстовый файл; Кнопка "OK" - принимает данные и возвращается на главное меню;
· Компонент Chartдля отображения графика;
По блок-схеме была создана программа для вычисления интеграла методами Симпсона и трапеций:
// Вводим переменные:
var
Form2: TForm2;
a,b,E,h,S,S1,x: real; n, i: integer;
implementation
{ TForm2 }
uses unit1,unit3,unit4,unit5;
// Описываем функцию:
function f (x: real): real;
begin
f: =1/Sqrt (1+3*x+2*x*x);
end;
// В соответствие с блок-схемой напишем программу на языке высокого уровня:
procedure TForm2. MenuItem4Click (Sender: TObject);
begin
// найдем площадь интеграла по методу трапеций
S: =0; // изначально обнуляем значение площади интеграла
n: =1; // начальное значение количества разбиений
Repeat // начало цикла
S1: =S; // предыдущее значение площади изначально равно значению площади с количеством разбиений равным 1
n: =2*n; // увеличиваем количество разбиений в два раза
h: = (b-a) /n; // формула вычисления шага
S: =f (a) +f (b); // значение функции в нижнем пределе + значение функции в верхнем пределе определенного интеграла
x: =a; // значению xприсвоим значение нижнего предела
fori: =1 ton-1 do // для i-того элемента, изменяющегося от 1 до n-1
begin
x: =x+h; // х увеличиваем на шаг
S: =S+2*f (x) // сумма площадей трапеций
end;
S: =S*h/2; // вычислим площадь по формуле
Untilabs (S-S1) <=E; // если разность значения площади и предыдущего значения площади меньше или равна заданной точности Е, то
Form4. Edit1. Text: =FloatToStr (S); // выводим значение на экран
Form4. Caption: ='Вычисление методом трапеций';
Form4. Button2. visible: =True;
Form4. Chart1. Visible: =True;
Form4. ShowModal;
end;
procedure TForm2. MenuItem8Click (Sender: TObject);
begin
// найдем площадь интеграла по методу Симпсона (парабол)
S: =0; // начальное значение количества разбиений