Рефераты - Афоризмы - Словари
Русские, белорусские и английские сочинения
Русские и белорусские изложения
 

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

Работа из раздела: «Математика»

                     МИНИСТЕКРСТВО  ОБРАЗОВАНИЯ  УКРАИНЫ
             ГОСУДАРСТВЕННЫЙ  ХИМИКОТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ
                       КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ



                               КУРСОВАЯ РАБОТА
                                   на тему
              “Приближенное  вычисление определенного интеграла

                 при помощи квадратурной  формулы  Чебышева”



Студента 2-го курса: Полякова Е.В.
Научный руководитель: Куприна Л.А.



                              Днепропетровск   2000г.

Содержание.


1. Общая постановка и анализ задания.


    1.1. Введение

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

     1.3   Формула  трапеций и  средних прямоугольников

   1.4. Общая формула Симпсона (параболическая формула)

     1.5. Квадратурная формула Чебышева


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


3.    Описание  программы  Integral. pas. Алгоритм.


4.    Заключение и выводы.

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

6.   Листинг программы. Вывод на экран.



1. Общая постановка и анализ задачи.

     1.1. Введение.

Требуется  найти  определенный  интеграл

       I = [pic]

по  квадратурной  формуле  Чебышева.

       Рассмотрим, что представляет из себя вообще квадратурная  формула,  и
как можно с ее помощью  вычислить приближенно интеграл.
       Известно,[pic] что определенный интеграл  функции  [pic]  типа  [pic]
численно представляет  собой  площадь  криволинейной  трапеции  ограниченной
кривыми x=0, y=a, y=b и y=[pic] (Рис. 1).
                                    [pic]
                       Рис. 1. Криволинейная трапеция.

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

       [pic]

  где
           xk -  выбранные  узлы  интерполяции;
           Ak -  коэффициенты,  зависящие  только  от   выбора   узлов,   но

                   не  от  вида  функции  (k=0,1,2,........, n).
      R - остаточный член, или погрешность квадратурной формулы.
      Отбрасывая остаточный член 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)

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

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

                              [pic]

По заданным значениям Yi построим полином Лагранжа. Заменим  f(x)  полиномом
Ln(x). Тогда
                     [pic]

где  Rn(f)  –  ошибка   квадратурной   формулы.   Отсюда,   воспользовавшись
выражением для Ln(x), получаем приближенную квадратурную формулу:
                                    [pic]
 Для вычисления коэффициентов Аi заметим что:
1.коэффициенты Ai  при  данном  расположении  узлов  не  зависит  от  выбора
функции f(x);
2.для полинома степени n последняя формула точная.


Пологая y=xK (k=0,1,2..,n), получим линейную систему из n+1 уравнений:
                       [pic]

где
[pic]
(k=0,1,..,n), из которой можно определить коэффициенты А0,А1,..,АN.

Определитель системы есть определитель Вандермонда

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



1.3   Формула  трапеций и  средних прямоугольников.
Заменим дугу АВ стягивающей ее хордой, получим прямолинейную трапецию  аАВb,
площадь которой  примем за приближенное значение интеграла

               y



                  0         a                             b         x
                          рис 1.3.1  Криволинейная  трапеция


                                    [pic]
                         Рис. 1.3.2. Метод трапеций.



                                    [pic]
                 Рис. 1.3.3. Метод средних прямоугольников.

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

1.4. Общая формула Симпсона (параболическая формула)


Пусть n=2m есть четное число и yi=f(xi)  (i=0,1,2...n)  -  значения  функции
y=f(x) для равноотстоящих точек а=x0,x1, ... ,xn=b с шагом


              [pic]


Применив формулу Симпсона к каждому удвоенному промежутку  [x0,x2],  [x2,x4]
... [x2m-2,x2m] длины 2h и введя обозначения


(1=y1+y2+ ... +y2m-1


(2=y2+y4+ ... +y2m


получим обобщенную формулу Симпсона:


             [pic]


Остаточный член формулы Симпсона в общем виде:


            [pic]


где  (k  I (x2к-2,x2к)


1.5. Квадратурная формула Чебышева

Рассмотрим квадратурную формулу вида:

                     [pic]

функцию   f(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

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

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

Таблица 3 – Значения х1,х2,..,хn для различных n.
|  n  |   I  |      ti      |   n  |    i |           ti   |
|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       |      |      |                |


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

        [pic]

где  a=0  ;  b= [pic];   при  n=5;

f(x) = sin(x);

[pic]


[pic]


| i|        xi     |          yi     |
|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         |


x1= (/4+(/4*t1=(/4+(/4(-0,832498)=0,131489

x2= (/4+(/4*t2=(/4+(/4(-0,374341)=0,490985

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

x4=1- x2=1-0,490985 = 0,509015

x5=1- x1=1-0,131489=0,868511

y1=sin(x1) = sin(0,131489)=0,131118

y2=sin(x2) = sin(0,490985)=0,471494

y3=sin(x3) = sin(0,785)=0,706825

y4=sin(x4) = sin(0,509015)=0,487317

y5=sin(x5) = sin(0,868511)=0,763367

[pic]


I = (/10(0,131118+0,471494+0,706825+0,487317+0,763367) =

=(/10*2,560121=0,8038779.



3. Описание  программы  Integral. pas. Алгоритм.

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

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

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

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



              4.    Заключение и выводы.

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



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

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


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


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


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

5. Вольвачев А.Н., Крисевич В.С. Программирование на языке Паскаль для  ПЭВМ
ЕС. Минск.: 1989 г.
 6. Зуев Е.А. Язык программирования Turbo Pascal. М.1992 г.
 7. Скляров В.А. Знакомьтесь: Паскаль. М. 1988 г.

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

       Программа написана  на  языке  Tubro  Pascal  7.0  для  MS-DOS.  Ниже
приведен ее листинг:
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

-----------------------
y-f(x)

B

A



ref.by 2006—2022
contextus@mail.ru