Тульский государственный университет
Кафедра АОТ и ОС
по курсу информатика
"ПРИБЛИЖЕННОЕ ВЫЧИСЛЕНИЕ ЗНАЧЕНИЙ ОПРЕДЕЛЕННОГО ИНТЕГРАЛА"
Тула, 2007
Содержание
Введение
Метод средних прямоугольников
Метод Ньютона-Котеса
Блок-схема основной программы
Блок-схема процедуры: метод трапеций
Блок-схема процедуры: метод Ньютона-Котеса
Блок-схема процедуры: метод Чебышева
Текст программы
Список используемой литературы
На практике редко удается вычислить точно определенный интеграл. Например, в элементарных функциях не вычисляется функция Лапласа
широко используемая в теории вероятностей для вычисления вероятностей, связанных с нормально распределенными случайными величинами.
Задача численного интегрирования состоит в нахождении приближенного значения интеграла:
(1)от непрерывной на отрезке [a, b] функции
.Численные методы интегрирования применяются в случаях, когда не удается найти аналитическое выражение первообразной для функции
либо если функция задана таблично. Формулы численного интегрирования называются квадратурными формулами.Пример: Приближенное неравенство
(2)где qj – некоторые числа, xj – некоторые точки отрезка [a, b], называется квадратурной формулой, определяемой весамиqj и узламиxj.
Говорят, что квадратурная формула точна для многочленов степени m, если при замене
на произвольный алгебраический многочлен степени m приближенное равенство (2) становится точным.Рассмотрим некоторые широко используемые примеры приближенного вычисления определенных интегралов, квадратурные формулы.
Вычисление определенного интеграла геометрически означает вычисление площади фигуры, ограниченной кривой
, прямыми х=а и х=b и осью абсцисс. Приближенно эта площадь равна сумме площадей прямоугольников.Обозначим
, гдеn – количество шагов.
Формула левых прямоугольников:
Формула правых прямоугольников:
Более точной является формула средних прямоугольников:
Метод трапеций
Площадь под кривой заменяется суммой площадей трапеций:
или
Нетрудно убедиться, что
Поскольку точность вычислений по приведенным формулам зависит от числа разбиений n исходного отрезка [a; b], то вычислительный процесс целесообразно строить итерационным методом, увеличивая n до тех пор, пока не будет выполнено условие
<где
– значения интеграла на шаге, а – точность вычислений.Заменим подынтегральную функцию f(x) интерполяционным многочленом Лагранжа:
.Тогда
; (1)Так как dx=hdq, то
Так как
, тоОкончательно получаем формулу Ньютона-Котеса:
(2)Величины Hi называют коэффициентами Ньютона-Котеса. Они не зависят от f(x). Их можно вычислить заранее для различного числа узлов n (таблица 1).
Формула Ньютона-Котеса с n узлами точна для полиномов степени не выше n. Для получения большей точности не рекомендуется использовать формулы с большим числом узлов, а лучше разбивать отрезок на подотрезки, к каждому из которых применяется формула с одним и тем же небольшим числом узлов.
H | N | |||
1 | 2 | 3 | 4 | |
H0 | 1/2 | 1/6 | 1/8 | 7/90 |
H1 | 1/2 | 2/3 | 3/8 | 16/45 |
H2 | - | 1/6 | 3/8 | 2/15 |
H3 | - | - | 1/8 | 16/45 |
H4 | - | - | - | 7/90 |
Интересно отметить, что из формулы (2) следуют как частные случаи: формула трапеций при n=1
;формула Симпсона при n=2
;правило трех восьмых при n=3
.Формулу (2) при n>6 не применяют, так как коэффициенты Ньютона-Котеса становятся слишком большими и вычислительная погрешность резко возрастает.
П.Л. Чебышев предложил формулу:
,в которой коэффициенты ci фиксированы, а хi подлежат определению.
Пользуясь алгебраическими свойствами симметричных многочленов, опустив преобразования, ограничимся готовыми результатами. В таблице 2 приведены значения узлов квадратурной формулы Чебышева для некоторых значений n.
Число интервалов n | Номер узла i | Значение узла Xi |
1 | 12 | 0,2113250,788675 |
2 | 123 | 0,1464470,5000000,853553 |
3 | 1234 | 0,1026730,4062040,5937960,897327 |
4 | 12345 | 0,0837510,3127300,5000000,6872700,916249 |
5 | 123456 | 0,0668770,2887400,3666820,6333180,7122600,933123 |
Для любых пределов интегрирования имеем:
где ,Значения xi берутся из таблицы при выбранном значении n. Для повышения точности можно не только увеличивать количество узлов, но и разбивать отрезок [a, b] на подотрезки, к каждому из которых применяется соответствующая формула. Не рекомендуется применять формулы с большим количеством узлов (n>=8).Доказано, что для n=8 построить квадратурную формулу Чебышева невозможно.
Блок-схема основной программы
Блок-схема процедуры: метод трапеций
Блок-схема процедуры: метод Ньютона-Котеса
Блок-схема процедуры: метод Чебышева
program Curs;
uses crt, graph;
var i, n:integer;
t:byte;
a, b, eps, h:real;
x, sum1, sum2, seps, m0, m1, m2, m3, m4:real;
lf:text;
st:string;
function f (x:real):real;
begin
f:=19.44*exp (0.224*x);
end;
procedure gr (xn, xk:real);
var x, y, mx, my, dx, dy,
ymin, ymax, xh:real;
xb, yb, xm, ym, xl, yv, xp, yn, bord1, bord2, bord3, bord4, xt, yt, xt1, yt1, dxp, dyp, nd, nr, i, kx, ky, k:integer;