Численное интегрирование
СОДЕРЖАНИЕ
Введение
- Описание численных методов…………
...……………………………3 - Методы левых и правых прямоугольников………...…………3
- Метод средних прямоугольников………………………………4
- Метод Симпсона………...……………………………………….
5 - Схема алгоритма программы……………...………………...6
- Описание программы………………………………………...7
- Текст программы………………………...…………………..
.8 - Численный пример, рассчитанный вручную и в программе……………………………...…………………
….10
Заключение
ВВЕДЕНИЕ
Цель данной курсовой работы – изучение методов приближённого интегрирования. Для некоторых подынтегральных функций интеграл можно вычислить аналитически или найти в справочниках. Однако в общем случае первообразная может быть не определена: либо первообразные не выражаются через элементарные функции, либо сами подынтегральные функции не являются элементарными. Это приводит к необходимости разработки приближенных методов вычисления определенных интегралов. Наиболее общеупотребительными приближенными методами вычисления одномерных определенных интегралов являются, так называемые, "классические" методы численного интегрирования: метод прямоугольников, метод трапеций, метод парабол (основанные на суммировании элементарных площадей, на которые разбивается вся площадь под функцией ). Хотя эти методы обычно предпочтительней в случае малых размерностей, они практически не годятся для вычисления многомерных интегралов, для их вычисления используются другие методы, однако в этой работе они рассмотрены не будут.
1. ОПИСАНИЕ ЧИСЛЕННЫХ МЕТОДОВ
Определение интеграла и его геометрический смысл.
В начале узнаем, что такое определённый интеграл. Возможны два различных подхода к определению определённого интеграла.
ОПРЕДЕЛЕНИЕ 1: приращение F(b)-F(a) любой из преобразованных функций F(x)+c при изменении аргумента от x=a до x=b называют определённым интегралом от a до b функции f и обозначается .
Причём функция F является первообразной для функции f на некотором промежутке D, а числа а и b принадлежат этому промежутку. Это можно записать следующим образом:
(1)
это формула Ньютона-Лейбница.
ОПРЕДЕЛЕНИЕ 2:
Если при любой
Где Δхi=xi-xi-1 (i=1,2,…,n) ε=maxΔxi – начало разбиения произвольная точка из отрезка[xi-1;xi] сумма всех произведений f(εi)Δxi(i=1,…,n). Простыми словами, определенный интеграл есть предел интегральной суммы, число членов которой неограниченно возрастает, а каждое слагаемое стремится к нулю.
ГЕОМЕТРИЧЕСКИЙ СМЫСЛ:
Всякая непрерывная на отрезке [a,b] функция f интегрируема на отрезке [a,b], функция f неотрицательна, но определённый интеграл численно равен S криволинейной трапеции, ограниченной графиком функции f, осью абсцисс и прямыми x=a и x=b, S= f(x)dx.
II.Приближённые методы вычисления.
Как мы уже отметили, если функция f непрерывна на промежутке, то на этом промежутке существует функция F такая, что F’=f, то есть существует первообразная для функции f, но не всякая элементарная функция f имеет элементарную первообразную F. Объясним понятие элементарной функции.
Функции: степенная, показательная, тригонометрическая, логарифмическая, обратные тригонометрическим называются основными элементарными функциями. Элементарной функцией называется функция, которая может быть задана с помощью формулы, содержащей лишь конечное число арифметических операций и суперпозиций основных элементарных.
Например следующие интегралы: ∫e-xdx; ∫ ; ∫dx/ln│x│; ∫(ex/x)dx; ∫sinx2dx; ∫ln│x│sinxdx существуют, но не выражаются в конечном виде через элементарные функции, то есть относятся к числу интегралов, «не берущихся» в элементарных функциях.
Бывает, что на практике сталкиваются
с вычислением интегралов от функций,
которые заданы табличными и графическими
способами, или интегралы от функций,
первообразные которых
В основе приближённых методов интегрирования лежит геометрический смысл определённого интеграла, который рассмотрен выше.
Формул приближённого интегрирования существует много. В данной курсовой работе будет рассмотрено три метода приближённого интегрирования: метод трапеций, метод прямоугольников и метод Симпсона.
1.1. Формула прямоугольников
Теперь рассмотрим первый
вид приближённого вычисления:
требуется вычислить определённый интеграл:
.
Пусть на отрезке [a,b] задана непрерывная функция y=f(x). Разделим отрезок [a,b], аналогично как в формуле трапеций: точками a=x0,x1,x2,…,xn=b на n равных частей длины Δх, где Δх=(b-a)/n.
Обозначим через y0,y1,y2,…,yn-1,yn значение функции f(x) в точках x0, x1, x2…,xn, то есть, если записать в наглядной формуле:
Y0=f(x0), y1=f(x1), y2=f(x2)…yn,=f(xn).
В данном способе подынтегральную функцию заменяем функцией, которая имеет ступенчатый вид (на рис. выделена).
Составим суммы: y0Δx+ y1Δx1+ y2Δx2…+yn-1Δx; Y1Δx+ y2Δx+…+ynΔx
Каждое слагаемое этих сумм выражает площадь, полученных прямоугольников с основанием Δх, которое является шириной прямоугольника, и длиной выраженной через yi: Sпр=a*b=yiΔx.
Каждая из этих сумм является интегральной суммой для f(x) на отрезке [a,b], и равна площади ступенчатых фигур, а значит приближённо выражает интеграл. Вынесем Δx=(b-a)/n из каждой суммы, получим:
f(x)dx≈Δx(y0+y1+…+yn-1);
f(x)dx≈Δx(y1+y2+…+yn).
Выразив x, получим окончательно:
f(x)dx≈((b-a)/n)(y0+y1+…+yn-1)
f(x)dx≈((b-a)/n)(y1+y2+…+yn);(
Это и есть формулы прямоугольников. Их две, так как можно использовать два способа замены подынтегральной функции. Если f(x)- положительная и возрастающая функция, то формула (3) выражает S фигуры, расположенной под графиком, составленной из входящих прямоугольников, а формула (3*)- площадь ступенчатой фигуры, расположенной под графиком функции составленной из выходящих треугольников.
Ошибка, совершаемая при вычислении интегралов по формуле прямоугольников, будет тем меньше, чем больше число n (то есть чем меньше шаг деления) . Для вычисления погрешности этого метода используется формула: Pnp= , где Результат полученный по формуле (3) заведомо даёт большую площадь прямоугольника, так же по формуле (3*) даёт заведомо меньшую площадь, для получения среднего результата используется формула средних прямоугольников: (3**)
1.2 .Формула трапеций.
Возьмём определённый интеграл ∫f(x)dx, где f(x)- непрерывная подынтегральная функция, которую мы для наглядности будем предполагать положительной. При вычислении интеграла с помощью формулы трапеций подынтегральная функция f заменяется функцией, график которой представляет собой ломанную линию (на рисунке 2 красным цветом), звенья которой соединяют концы ординат yi-1 и yi (i=1,2,…,n). Тогда площадь криволинейной трапеции, ограниченной линиями x=a, x=b, y=0, y=f(x), а значит (следуя из геометрического смысла), и значение нужного нам интеграла, приблизительно равна сумме площадей обычных трапеций с основаниями yi-1 и yi и высотой h=(b-a)/n, так как (если более привычно выражать для нас) h это Δx,a Δx=(b-a)/n при делении отрезка на n равных отрезков при помощи точек x0=a<x1<…<xn=b. Прямые x=xk разбивают криволинейную трапецию на n полосок. Принимая каждую из этих полосок за обыкновенную трапецию, получаем, что площадь криволинейной трапеции приблизительно равна сумме обыкновенных трапеций.
Площадь крайней полоски слева, как помниться из школьного курса геометрии, равна произведению полусуммы основания на высоту.
S=
Итак, запишем сказанное выше в математическом виде:
(4)
Формула (4) и есть формула трапеций
Для определения погрешности
интеграла вычисленного с помощью
формулы трапеций используется формула:
где
- Формула Симпсона (формула парабол).
Существует два подхода к формуле Симпсона. В одном используется парабола в другом нет.
А) с использованием параболы.
Разделим отрезок [a;b] на чётное число равных частей n=2m. Площадь криволинейной трапеции, соответствующей первым двум отрезкам [x0,x1], [x1,x2] и ограниченной заданной кривой y=f(x), заменим площадью криволинейной трапеции, которая ограничена параболой второй степени, проходящей через три точки M0[x0,y0], M1[x1,y1], M2[x2,y2] и имеющей ось, параллельную оси Oy (рис). Такую криволинейную трапецию будем называть параболической трапецией.
Уравнение параболы с осью, параллельной оси Oy, имеет вид: .
Коэффициенты A, B и C однозначно определяются из условия, что парабола проходит через три заданные точки. Аналогичные параболы строятся и для других пар отрезков. Сумма параболических трапеций и даст приближённое значение интеграла. Сначала вычислим площадь одной параболической трапеции. Для этого докажем лемму.
Лемма: если криволинейная трапеция ограничена параболой , осью Ox и двумя ординатами, расстояние между которыми равно 2h, то её площадь равна: (5), где y0 и y2- крайние ординаты, а y1- ордината кривой в середине отрезка.
Доказательство:
Расположим вспомогательную
Если x0=-h, то
Если x1=0, то (6)
Если x2=-h, то
Считая коэффициенты A. B, C известными определим площадь параболической трапеции с помощью определённого интеграла:
из равенства (6) следует, что
следовательно: ч.т.д. пользуясь формулой (5), можно написать приближённые равенства, учитывая, что
складывая левые и правые части, получим слева искомый интеграл, справа его приближённое значение:
или
(7)
Это и есть формула Симпсона. Здесь число точек деления произвольно, но чем это число больше, тем точнее сумма в правой части равенства (6) даёт значение интеграла. Формула Симпсона даёт самое точное значение интеграла (из классических формул приближённого интегрирования), погрешность для этого метода находится по формуле: где
Б) Без использования парабол
В тех случаях, когда линия y=f(x) между x=a и x=b мало изогнута, интеграл приближенно выражается достаточно простой формулой. Будем считать f(x) положительной и искать площадь криволинейной трапеции aABb. Для этого разделим отрезок [a;b] точкой пополам и в точке c(c,f(c))проведём касательную к линии y=f(x). После этого разделим [a,b] точками p и g на 3 равные части и проведём через них прямые x=p и x=q. P и Q – точки пересечения прямых с касательной. Соединив AP и BQ, получим 3 прямолинейные трапеции aAPp, pPQq, qQBb. Сумма площадей этих трапеций равна будет примерно равна площади криволинейной трапеции aABb:
Обозначим: Aa, Pp, qQ, bB – основания трапеций; - высота трапеций, в данном случае число n строго задано n=3 Получаем:
(8)
Обозначим, что: aA=f(a)=ya, bB=f(b)=yb. Отрезки pP и qQ не являются ординатами точек линии y=f(x), так как P и Q лежат на касательной. Но нам нужна сумма этих отрезков, которая выражается через среднюю линию трапеции и равна полусумме её оснований, откуда . Значит . Формула (8) принимает вид:
(9). Эта формула называется малой формулой Симпсона.
Малая формула Симпсона пригодна, когда график подынтегральной функции мало изогнут, например для случая, изображённого на рисунке, применять малую формулу уже нельзя, так как она даёт значение 0 на [a,b]. Но если отрезок [a,b] разбить на части [a,c] и [c,b] и к каждому из них применить формулу (9), то получится приемлемый результат.
Эта идея лежит в основе вывода «большой» формулы Симпсона.
Для вычисления интеграла выберем какое-либо чётное число и разложим [a,b] на n равных частей точками . Интеграл представим в виде суммы . К каждому слагаемому справа применим малую формулу Симпсона. Учитывая, что в каждом интеграле длина промежутка интегрирования , и положить , то получим:
Раскроем скобки:
Это и есть «большая формула Симпсона». Её точность, также как и у всех формул рассмотренных выше, тем выше, чем больше n. Эта формула совпадает с формулой (7), выведенной с помощью парабол. Для оценки погрешности формулы Симпсона используется формула:
Качество этой формулы лучше, чем формулы трапеции и прямоугольников, так как при одном и том же n она даёт большую точность.
1.3.1 СХЕМА АЛГОРИТМА ПРОГРАММЫ
1.3.2. ОПИСАНИЕ ПРОГРАММЫ
Программа предлагает ввести число шагов интегрирования.
Вначале вычисляется сумма первого и последнего членов последовательности F(a)+F(b)/ 2, затем в цикле суммируются члены F(xj), умноженные на 2 и на 4. После завершения цикла накопленная сумма умножается на h и делится на 3 согласно формуле Симпсона. Результат печатается на экране.
a,b:real; границы интервала
h:real; шаг интегрирования
Integral: real; подынтегральная сумма
x:real; аргумент функции
N: integer; число шагов интегрирования
i: integer; переменная для цикла
Собственные функции программы
Функция F предназначена для многократного вычисления значения подынтегральной функции в узловых точках Xi+h. Имеет один вещественный параметр - аргумент, возвращает вещественное число - значение функции.
function F(x_:real):real;
begin
F:=(x*x+0.5)/(sqrt(x*x+1));
end.
1.3.3. ТЕКСТ ПРОГРАММЫ
{ Вычисление интеграла методом Симпсона}
program Project1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes
{ you can add units after this };
{$R *.res}
var
a,b:real; {границы интервала}
h:real; {шаг интегрирования}
S: real;{подынтегральная сумма}
x:real;
N:integer; {число шагов интегрирования}
i,p:integer; {переменная для цикла}
function F(z:real) :real; {функция языка Паскаль для вычисления подынтегральной функции}
begin
F:=(z* z+0.5 )/sqrt(z* z+1);
end;
begin
Writeln('FuHkTioH (x^2 * +0.5)/(sqrt(x^2+1)) [0.5 1.6] ');
Write('BBediTe 4icLo IIIaGoB: ');
Readln(N);
a:=0.5;
b:=1.6;
h := (b-a) / N;
Writeln('IIIaG ' ,h:7:5);
x := a;
S :=F(a)+F(b);
FOR i := 1 TO round((N -2)/2)DO
begin
x := x + h;
S := S + 4 *F(x);
x := x + h;
S := S + 2 *F(x);
end;
S := S * h/3;
Writeln;
Writeln;
Writeln ('iHTeGpaL =',S:7:5);
read(p)
end.
1.3.4. ЧИСЛЕННЫЙ ПРИМЕР, РАССЧИТАННЫЙ
ВРУЧНУЮ И В ПРОГРАММЕ:
Ручной расчёт для N=10
а=0.5
b=1.6
N=10
Шаг интегрирования (1.6-0.5)/10 = 0.1100
S=F(0.5)+F(1.6) = 2.29
х= 0.61 S= 2.29+4*0.7445 = 2.29+2.9781 = 5.27
х= 0.72 S= 5.27+2*0.8265 = 5.27 +1.6529 = 6.92
х= 0.83 S= 6.92+4*0.9148 = 6.92+3.6593 = 10.58
х= о.94 S= 10.58+2*1.0081 = 10.58 +2.0163 = 12.60
х= 1.05 S= 12.60+4*1.1052 = 12.60 +4.4207 = 17.02
х= 1.16 S= 17.02+2*1.2051 = 17.02 +2.4101 = 19.43
х= 1.27 S= 19.43+4*1.3071 = 19.43 +5.2285 = 24.66
х= 1.38 S= 24.66+2*1.4108 = 24.66 +2.8217 = 27.48
S=27.48 *0.1100/3=1.0076
Интеграл =1.00761
Запустим программу с теми же данными:
Рис. 3. Результат решения программы N=10
Рис. 4. Результат работы программы при N=100
Рис. 5. Результат работы программы при N=1000
Видим, что с ростом N увеличивается точность расчётов.
ЗАКЛЮЧЕНИЕ
Программа осуществляет вычисление подынтегральной функции на заданном интервале методом Симпсона. Число шагов интегрирования вводится с клавиатуры. Результаты печатаются на экране. Анализ результатов подтверждает теоретический вывод о наилучшем решении, которое получается при выборе наименьшего шага.
В результате выполнения программы закреплены знания по языку Паскаль, освоена работа в интегрированной среде Borland Pascal, изучены методы численного интегрирования.