Приближенное вычисление определенного интеграла при помощи квадратурной формулы Чебышева

Применение квадратурной формулы Чебышева для вычисление определенного интеграла

Оглавление

Введение *

Решение контрольного примера *

Описание алгоритма программы *

Выводы *

Листинг программы. *

Список литературы *

Введение

Данная задача заключается в решении определенного интеграла по квадратурной формуле Чебышева.

Как известно, вычисление определенного итегралла сводится к вычислению площади криволинейной трапеции, ограниченной кривыми x=0, y=a, y=b и y=f (x).

При вычислении определенного интеграла можно воспользоваться известной всем, формуле Ньютона — Лейбница, при условии f (x) непрерывна на отрезке [a, b], а также определена ее первообразная F (x). Но во многих случаях первообразная получается очень сложной для вычисления, да и функция часто задается таблично. Поэтому большое значение приобретает приближенное и в первую очередь численное интегрирование, задача которого заключается в нахождении приближенного значения интеграла по заданным или вычисленным значениям подынтегральной функции f (x) в некоторых точках (узлах) отрезка [ a, b].

Механическая квадратура — численное значение однократного интеграла, и формулы численного интегрирования соответственно называют квадратурными.

Меняя подынтегральную функцию каким-либо интерполяционным многочленом, получаем квадратурные формулы, где xk — выбранные узлы интерполяции; Ak — коэффициенты, зависящие только от выбора узлов, но не от вида функции (k=0,1,2,…, n); R — остаточный член, или погрешность квадратурной формулы, отбросив который получим погрешность усечения. Далее, при расчете к погрешности усечения добавляются другие погрешности округления.

Разбив отрезок интегрирования [a, b] на n равных частей получим следующее: xi= xo+ i.h; (i = 0,1,2,…, n) xo= a; xn= b;h= (b-a)/n. Вычислим подынтегральную функцию в полученных узлах: yi= f (xi); (i = 0,1,2,…, n)

Для выведения формул численного интегрирования воспользуемся интерполяционным полиномом Лагранжа.

Пусть для функции y=f (x) известны в n+1 точках X0, X1,X2.Xn промежутка [a, b] соответствующие определения f (xi)=yi (i=0,1,2.n). По заданным значениям Yi строим полином Лагранжа, заменяя f (x) полиномом Ln (x), где Rn (f) — ошибка квадратурной формулы. Воспользовавшись выражением для Ln (x), получим приближенную квадратурную формулу.

Однако, заметим, следующее:

  • коэффициенты Ai при данном расположении узлов не зависит от выбора функции f (x);

  • для полинома степени n последняя формула точная.

Считая, что y=xK (k=0,1,2., n), получим линейную систему из n+1 уравнений, где (k=0,1,., n), из которой можно определить коэффициенты А0, А1,., АN. Определитель системы есть определитель Вандермонда.

Но также необходимо заметить, что при применении данного метода фактически построение полинома Лагранжа Ln (x) является излишним. Простой метод подсчета погрешности квадратурных формул разработан С.М. Никольским.

Применяя метод трапеций и средних прямоугольников интеграл будет численно равняться сумме площадей прямоугольных трапеций, где основание трапеции какая-либо малая величина (точность), и сумме площадей прямоугольников, где основание прямоугольника какая-либо малая величина (точность), а высота определяется по точке пересечения верхнего основания прямоугольника, график функции должен пересекать в середине.

Определим общую формулу Симпсона (параболическая формула) по следующим условиям: пусть n=2m есть четное число и yi=f (xi) (i=0,1,2…n) — значения функции y=f (x) для равноотстоящих точек а=x0,x1, …, xn=b с шагом h. Применив формулу Симпсона к каждому удвоенному промежутку [x0,x2], [x2,x4] … [x2m-2,x2m] длины 2h и введя обозначения s1=y1+y2+ … +y2m-1 s2=y2+y4+ … +y2m получим обобщенную формулу Симпсона и остаточный член формулы Симпсона в общем виде, где xk I (x2к-2, x).

Рассмотрим квадратурную формулу Чебышева: пусть дана функция f (x) в виде многочлена f (x)=ao+a1x+…+anxn. Проинтегрировав, преобразовав и подставив значения многочлена в узлах

f (x1)=a0+a1x1+a2x12+a3x13+…+anx1n

f (x2)=a0+a1x2+a2x22+a3x23+…+anx2n

f (x3)=a0+a1x3+a2x32+a3x33+…+anx3n

.. .. .. .. .. .. .. . .

f (xn)=a0+a1xn+a2xn2+a3xn3+…+anxnn

получим формулу Чебышева.

Значения х1, х2,., хn для различных n приведены ниже в таблице.

n

I

ti

n

i

ti

2

1;2

± 0,577 350

6

1;6

± 0,866 247

3

1;3

± 0,707 107

2;5

± 0,422 519

2

0

3;4

± 0,266 635

4

1;4

± 0,794 654

7

1;7

± 0,883 862

2;3

± 0,187 592

2;6

± 0,529 657

5

1;5

± 0,832 498

3;5

± 0,321 912

2;4

± 0,374 541

4

0

3

0

Решение контрольного примера

f (x) = sin (x); где a=0; при n=5

i

xi

yi

1

0,131 489

0,131 118

2

0,490 985

0,471 494

3

0,785

0,706 825

4

0,509 015

0,487 317

5

0,868 511

0,763 367

x1= p /4+p /4*t1=p /4+p /4(-0,832 498)=0,131 489

x2= p /4+p /4*t2=p /4+p /4(-0,374 341)=0,490 985

x3= p /4+p /4*t3=p /4+p /4*0=0,785

x4=1- x2=1−0,490 985 = 0,509 015

x5=1- x1=1−0,131 489=0,868 511

y1=sin (x1) = sin (0,131 489)=0,131 118

y2=sin (x2) = sin (0,490 985)=0,471 494

y3=sin (x3) = sin (0,785)=0,706 825

y4=sin (x4) = sin (0,509 015)=0,487 317

y5=sin (x5) = sin (0,868 511)=0,763 367

I = p /10(0,131 118+0,471 494+0,706 825+0,487 317+0,763 367) =

=p /10*2,560 121=0,8 038 779.

Описание алгоритма программы

Процедура TABL — это подпрограмма, осуществляющая вывод таблицы узлов (аргумент — функция)

Процедура CHEB — используя массивы xi и yi, высчитывает по квадратурной формуле Чебышева приближенное значение интеграла.

Процедура FORM — используя массив, содержащий аргументы xi заполняет массив yi

Процедура VVOD — заполняет массив, содержащий в себе аргументы xi

При запуске программы необходимо ввести границы интегрирования. После ввода границ интегрирования используется процедура VVOD, а затем высчитывается и выводиться на экран шаг табулирования функции h. После этого используем процедуры FORM и CHEB. Получив результат, выводим таблицу (процедура TABL) и интеграл.

Выводы

Делая вывод по исследованию нашей работы можно заметить, что вычисление определенных интегралов с помощью квадратурных формул, а в частности по формуле Чебышева не дает нам точного значения, а только приближенное. Чтобы вычислить интеграл более точно нужно уметь правильно выбрать метод и формулу, по которой будет вестись расчет, а также важно какой будет взят шаг интегрирования. На практике не всегда можно решить задачу интегрирования аналитическим способом, поэтому необходимо знать численные методы, хотя и они не могут дать точного значения интеграла

Листинг программы.

program integral;

uses crt;

const n=5;

k=-0.832 498;

l=-0.374 541;

z=0.0;

type aa=array[1.n] of real;

var x, y: aa;

a, b, h, ich: real;

{ заполнение х-сов в массив х[5] }

procedure vvod (var a, b: real;var c: aa);

var i: integer;

t:aa;