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

Описание:
Тип работы: реферат
Данная задача заключается в решении определенного интеграла по квадратурной формуле Чебышева. Как известно, вычисление определенного интеграла сводится к вычислению площади криволинейной трапеции, ограниченной кривыми.
Доступные действия
Введите защитный код для скачивания файла и нажмите "Скачать файл"
Защитный код
Введите защитный код

Нажмите на изображение для генерации защитного кода

Текст:

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

Введение

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

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

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

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

Разбив отрезок интегрирования [a, b] на n равных частей получим следующее: x i = x o + i .. h; (i = 0, 1, 2,......,n) x o = a; x n = b; h= (b-a)/n. Вычислим подынтегральную функцию в полученных узлах: y i = f(x i); (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 и введя обозначения s 1 =y 1 +y 2 + ... +y 2m-1 s 2 =y 2 +y 4 + ... +y 2m получим обобщенную формулу Симпсона и остаточный член формулы Симпсона в общем виде, где x k I (x 2к-2 ,x 2к).

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

f(x 1)=a 0 +a 1 x 1 +a 2 x 12 +a 3 x 13 +...+a n x 1n

f(x 2)=a 0 +a 1 x 2 +a 2 x 22 +a 3 x 23 +...+a n x 2n

f(x 3)=a 0 +a 1 x 3 +a 2 x 32 +a 3 x 33 +...+a n x 3n

f(x n)=a 0 +a 1 x n +a 2 x n2 +a 3 x n3 +...+a n x nn

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

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

n

I

t i

n

i

t i

2

1;2

± 0,577350

6

1;6

± 0,866247

3

1;3

± 0,707107

 

2;5

± 0,422519

 

2

0

 

3;4

± 0,266635

4

1;4

± 0,794654

7

1;7

± 0,883862

 

2;3

± 0,187592

 

2;6

± 0,529657

5

1;5

± 0,832498

 

3;5

± 0,321912

 

2;4

± 0,374541

 

4

0

 

3

0

 

 

 

Решение контрольного примера: f(x) = sin(x); где a = 0; при n = 5.

i

x i

y i

1

0,131489

0,131118

2

0,490985

0,471494

3

0,785

0,706825

4

0,509015

0,487317

5

0,868511

0,763367

 

x 1 = p /4+ p /4*t 1 = p /4+ p /4(-0,832498) = 0,131489

x 2 = p /4+ p /4*t 2 = p /4+ p /4(-0,374341) = 0,490985

x 3 = p /4+ p /4*t 3 = p /4+ p /4*0=0,785

x 4 =1- x 2 = 1-0,490985 = 0,509015

x 5 =1- x 1 = 1-0,131489 = 0,868511

y 1 = sin(x 1) = sin(0,131489) = 0,131118

y 2 = sin(x 2) = sin(0,490985)=0,471494

y 3 =sin(x 3) = sin(0,785) = 0,706825

y 4 =sin(x 4) = sin(0,509015) = 0,487317

y 5 =sin(x 5) = sin(0,868511) = 0,763367

I = p /10(0,131118+ 0,471494+0,706825+0,487317+0,763367) = p /10*2,560121=0,8038779

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

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

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

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

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

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

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

Листинг программы: program integral; uses crt; const n = 5; k = -0.832498; l = -0.374541; 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; Begin t[1]: = k; t[2]: = l; t[3]: = z; t[4]: = l; t[5]: = k; for i: = 1 to n-1 do c[i]: = ((b+a)/2 + (b-a)/2*t[i]); for i: = n-1 to n do; c[i]: = 1 - c[n+1-i]; end; {заполнение y-ков в массиве у[5]} procedure form(var x:aa; var y:aa); var i:integer; Begin for i:=1 to n do y[i]:=sin(x[i]); {функция} end; {процедура для расчета интеграла по квадратурной формуле Чебышева} procedure cheb(var y:aa;var ich:real); var i:integer; Begin ich: = 0; for i: = 1 to n do ich: = ich+y[i]*h; end; {процедура вывода таблицы} procedure tabl; var i:integer; Begin

writeln("___________________________________");

writeln("| i | t | x | y |");

writeln("___________________________________");

writeln("| 1 |",k:9:6,"|",x[1]:9:6," |",y[1]:9:6,"|");

writeln("| 2 |",l:9:6,"|",x[2]:9:6," |",y[2]:9:6,"|");

writeln("| 3 |",z:9:6,"|",x[3]:9:6," |",y[3]:9:6,"|");

writeln("| 4 |",l:9:6,"|",x[4]:9:6," |",y[4]:9:6,"|");

writeln("| 5 |",k:9:6,"|",x[5]:9:6," |",y[5]:9:6,"|");

writeln("___________________________________");

end; Begin clrscr; writeln (Программа для вычисления); writeln (Определенного интеграла); writeln; writeln("Введите границы интегрирования a,b:"); readln(a,b); vvod(a, b, x); h: = (b-a)/n; writeln ("h = ",h:9:6); form(x,y); cheb(y,ich); tabl; writeln("I = ",ich:8:6); end

Вывод результата: Программа для вычисления определенного интеграла.

Введите границы интегрирования a,b: 0 1.5708, h= 0.314160

____________________________

| i | t | x | y |

____________________________

| 1 |-0.832498| 0.131556 | 0.131177|

| 2 |-0.374541| 0.491235 | 0.471716|

| 3 | 0.000000| 0.785400 | 0.707108|

| 4 |-0.374541| 0.508765 | 0.487099|

| 5 |-0.832498| 0.868444 | 0.763325|

____________________________

I=0.804383

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

Ракитин Т. А., Первушин В. А. Практическое руководство по численным методам с приложением программ на языке Basic.

Крылов В. И. Приближенные вычисления интегралов. — М.: Физмат.

Демидович и Марон. Основы вычислительной математики.

Копченова и Марон. Вычислительная математика в примерах и задачах.

Вольвачев А. Н., Крисевич В. С. Программирование на языке Паскаль для ПЭВМ ЕС. — Минск, 1989.

Зуев Е. А. Язык программирования Turbo Pascal. — М., 1992.

Скляров В. А. Знакомьтесь: Паскаль. — М., 1988.

Для подготовки данной работы были использованы материалы с сайта http://www.matematika-r.info/


Информация о файле
Название файла Применение квадратурной формулы Чебышева для вычисления определенного интеграла от пользователя z3rg
Дата добавления 15.4.2009, 8:19
Дата обновления 15.4.2009, 8:19
Тип файла Тип файла (zip - application/zip)
Скриншот Не доступно
Статистика
Размер файла 8.09 килобайт (Примерное время скачивания)
Просмотров 2818
Скачиваний 10
Оценить файл