ПРАКТИЧЕСКАЯ РАБОТА
ИССЛЕДОВАНИЕ НЕКОТОРЫХ МЕТОДОВ ПРИБЛИЖЕННОГО ВЫЧИСЛЕНИЯ ОПРЕДЕЛЕННОГО ИНТЕГРАЛА
Цель работы:
Вычислить интеграл определенной функции различными методами и изучить достоинства и недостатки каждого из них.
Изучить различные методы интегрирования в разных средах, подобрать наиболее рациональный и точный метод для вычисления интегралов.
Краткий теоретический материал
Пусть требуется вычислить, ,
где
непрерывная на промежутке [a,
b] функция.
Если можно найти первообразную функции то интеграл вычисляется по формуле Ньютона –
Лейбница
.
Но формула Ньютона – Лейбница не всегда позволяет вычислить данный определенный интеграл. Во многих случаях первообразные функции либо вообще не выражаются через элементарные функции, либо оказываются слишком сложными для расчетов.
Если же подынтегральная функция задана
в виде таблицы, то понятие первообразной вообще теряет смысл. Здесь на помощь
приходит приближенное вычисление определенных интегралов с необходимой
точностью.
Задача численного интегрирования состоит в нахождении приближенного значения
интеграла ,
по заданным или вычисленным значениям подынтегральной функции
в некоторых
точках (узлах) отрезка [a, b].
Численное определение однократного интеграла называется механической квадратурой, а соответствующие формулы численного интегрирования – квадратурными. Рассмотри простейшие из них.
Метод прямоугольников
Геометрически
идея способа вычисления определённого интеграла по формуле прямоугольников
состоит в том, что площадь криволинейной трапеции АВСD заменяется суммой
площадей прямоугольников, одна сторона которых равна ,
а другая - f(xn).
Чтобы найти приближённое значение интеграла ,
нужно:
- разделить отрезок интегрирования [a, b] на n равных частей точками х0= а, х1, х2,..., х n -1,
х n = b;
- вычислить значения подынтегральной функции у = f (x), в точках деления,
т.е. найти у 0 = f (x0), у 1 = f (x1), у 2 = f (x2), у n -1 = f (xn-1), у n = f (xn);
- воспользоваться одной из приближённых формул:
(y0+y1+…+yn-1) с недостатком (1)
(y1+y2+…+yn) с избытком (2)
Метод трапеций
Более
точное значение определенного интеграла, если данную кривую у =
f (x), заменим не ступенчатой линией, как это было в формуле
прямоугольников, а вписанной ломаной (рис. 2).
Тогда расчетные формулы примут вид:
(3)
получим:
(4)
(5)
Задание 1. Вычислить
по формуле прямоугольников с шагом
.
Заметим, что этот интеграл легко может быть вычислен
аналитически:
Интегрирование в программе MS Office Excel
Метод прямоугольников:
Для
нахождения определённого интеграла методом прямоугольников необходимо ввести
значения подынтегральной функции f(x) в рабочую таблицу Excel
в диапазоне х [0;3]
с заданным шагом х =
0,1.
|
A |
B |
1 |
Аргумент |
Функция |
2 |
0 |
=A2^2 |
3 |
0,1 |
Копируем |
4 |
0,2 |
формулу |
5 |
Автозаполнение |
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
… |
|
|
32 |
3 |
|
33 |
|
= 0,1* Сумм (В3:В32) |
В ячейке В33 появляется приближённое значение искомого интеграла (9,455) .
Сравнивая полученное приближённое значение с истинным
значением интеграла (9), можно видеть, что ошибка приближения метода
прямоугольников в данном случае равна = 0,455
Метод трапеций:
Для
нахождения определенного интеграла методом трапеций, как и в случае
использования метода прямоугольников, значения подынтегральной функции f(x) должны быть введены рабочую
таблицу Excel в диапазоне х [0;3] с
заданным шагом
х =
0,1.
|
A |
B |
1 |
Аргумент |
Функция |
2 |
0 |
=A2^2 |
3 |
0,1 |
Копируем |
4 |
0,2 |
формулу |
5 |
Автозаполнение |
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
… |
|
|
32 |
|
|
33 |
3 |
|
34 |
|
= 0,1* Сумм (В3:В32) |
Метод трапеций обычно даёт более точное значение интеграла, чем метод прямоугольников
Вычисления интегралов на VBA
Код программы:
Private Sub CommandButton3_Click() End End Sub Private Sub UserForm_Initialize() With Me.ComboBox1 .AddItem "Метод_Трапеций" .AddItem "Метод_Прямоугольников" End With End Sub
|
|
Private Sub CommandButton2_Click() Dim n As Single, a As Single, x As Single Dim b As Single, s As Single, s1 As Single Dim s2 As Single, z As Single, i As String i = ComboBox1.Value a = TextBox1.Text b = TextBox2.Text n = TextBox3.Text Select Case i Case Is = "Метод_Трапеций" h = (b - a) / n: s = 0 x = a + h Do While x < b s = s + fun(x) x = x + h Loop s = (h / 2) * (fun(a) + 2 * s + fun(b)) TextBox4.Text = s Case Is = "Метод_Прямоугольников" h = (b - a) / n: s1 = 0 x = a + h Do While x < b s1 = s1 + fun(x) x = x + h Loop s1 = h * s1 TextBox5.Text = s1 End Select End Sub Function fun(x As Single) As Single fun = x ^ 2 End Function
|
|
Вычисления интегралов в среде программирования Turbo Pascal
Метод прямоугольников |
Метод трапеций |
Program pram; uses crt; var a,b:real; dx:real; s:real;{Приближенное значение интервала} n:integer;{количество интервалов} x:real; y:real;{Знач. функции в начале интервала} i:integer; begin writeln('Приближ. вычисление интергала'); write('Нижняя граница отрезка'); readln(a); write('Верхняя граница отрезка'); readln(b); write('Приращение аргумента'); readln(dx); n:=round((b-a)/dx); x:=a; s:=0; for i:=1 to n do begin y:=x*x;{Знач. функции в начале интервала} s:=s+y*dx; x:=x+dx; end; writeln('Значение интеграла=',s:9:3); end.
|
Program trap; uses crt; var a,b:real; dx:real; s:real; n:integer; x:real; y1,y2:real; i:integer; begin writeln('Приб. выч. интергала'); write('Нижняя граница отрезка'); readln(a); write('Верхняя граница отрезка'); readln(b); write('Приращение аргумента'); readln(dx); n:=round((b-a)/dx); x:=a; s:=0; for i:=1 to n do begin y1:=x*x; x:=x+dx; y2:=x*x; s:=s+(y1+y2)*dx/2; end; writeln('Значение интеграла=',s); end. |
ВЫВОД:
|
Приближённое значение интеграла |
Приближённое значение интеграла |
|
Метод прямоугольников |
Метод трапеций
|
VBA |
|
|
PASCAL |
|
|
MS EXCEL |
|
|
|
|
|
|
|
|
Литература:
Гельман, Виктор Яковлевич.
Решение математических задач средствами Excel : Практикум / В.Я. Гельман. -
СПб. [и др.] : Питер, 2003 (ГПП Печ. Двор). - 235, [1] с. : ил., табл.; 22 см.
- (Серия Учебник для вузов).; ISBN 5-94723-315-0 (в обл.)
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.