0 a b x
рис 1.3.1 Криволинейная трапеция
Рис. 1.3.2. Метод трапеций.
Рис. 1.3.3. Метод средних прямоугольников.
По методам трапеций и средних прямоугольников соответственно интеграл равен сумме площадей прямоугольных трапеций, где основание трапеции какая-либо малая величина (точность), и сумма площадей прямоугольников, где основание прямоугольника какая-либо малая величина (точность), а высота определяется по точке пересечения верхнего основания прямоугольника, которое график функции должен пересекать в середине. Соответственно получаем формулы площадей —
для метода трапеций:
,
для метода средних прямоугольников:
.
1.4. Общая формула Симпсона (параболическая формула)
Пусть n=2m есть четное число и yi=f(xi) (i=0,1,2...n) - значения функции y=f(x) для равноотстоящих точек а=x0,x1, ... ,xn=b с шагом
Применив формулу Симпсона к каждому удвоенному промежутку [x0,x2], [x2,x4] ... [x2m-2,x2m] длины 2h и введя обозначения
s1=y1+y2+ ... +y2m-1
s2=y2+y4+ ... +y2m
получим обобщенную формулу Симпсона:
Остаточный член формулы Симпсона в общем виде:
где xk I (x2к-2,x2к)
1.5. Квадратурная формула Чебышева
Рассмотрим квадратурную формулу вида:
функцию 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
получим формулу Чебышева.
Значения х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. Решение контрольного примера
где a=0 ; b= ; при n=5;
f(x) = sin(x);
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= p/4+p/4*t1=p/4+p/4(-0,832498)=0,131489
x2= p/4+p/4*t2=p/4+p/4(-0,374341)=0,490985
x3= p/4+p/4*t3=p/4+p/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
I = p/10(0,131118+0,471494+0,706825+0,487317+0,763367) =
=p/10*2,560121=0,8038779.
3. Описание программы Integral. pas. Алгоритм.
Процедура VVOD - заполняет массив, содержащий в себе аргументы xi
Процедура FORM - используя массив, содержащий аргументы xi заполняет массив yi
Процедура CHEB - используя массивы xi и yi, высчитывает по квадратурной формуле Чебышева приближенное значение интеграла.
Процедура TABL - это подпрограмма, осуществляющая вывод таблицы узлов (аргумент - функция)
При запуске программы нужно ввести границы интегрирования.
После ввода границ интегрирования используется процедура VVOD, а затем высчитывается и выводиться на экран шаг табулирования функции h.
После этого используем процедуры FORM и CHEB .
Получив результат, выводим таблицу ( процедура TABL ) и интеграл.
4. Заключение и выводы.
Таким образом очевидно, что при вычислении определенных интегралов с помощью квадратурных формул, а в частности по формуле Чебышева не дает нам точного значения, а только приближенное.
Чтобы максимально приблизиться к достоверному значению интеграла нужно уметь правильно выбрать метод и формулу, по которой будет вестись расчет. Так же очень важно то, какой будет взят шаг интегрирования.
Хотя численные методы и не дают очень точного значения интеграла, но они очень важны, так как не всегда можно решить задачу интегрирования аналитическим способом.
Листинг программы.
Программа написана на языке 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
Список литературы:
1. Ракитин Т.А., Первушин В.А. “Практическое руководство по численным методам с приложением программ на языке Basic“
2. Крылов В.И. “Приближенные вычисления интегралов“ - М. : Физмат.
3. Демидович и Марон “Основы вычислительной математики“
4. Копченова и Марон “Вычислительная математика в примерах и задачах”
5. Вольвачев А.Н., Крисевич В.С. Программирование на языке Паскаль для ПЭВМ ЕС. Минск.: 1989 г.
6. Зуев Е.А. Язык программирования Turbo Pascal. М.1992 г.
7. Скляров В.А. Знакомьтесь: Паскаль. М. 1988 г.
Для подготовки данной работы были использованы материалы с сайта http://www.ed.vseved.ru/
... 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; {процедура вывода таблицы} ...
... с помощью рекурентных соотношений? 104) Приведите конечно-разностные выражения для первой производной. 105) Подынтегральная функция y = f(x) задана таблицейВзяв h = 0,3, вычислить интеграл на отрезке [0,3; 0,9] методом Симпсона. Зав. кафедрой -------------------------------------------------- Экзаменационный билет по предмету ЧИСЛЕННЫЕ МЕТОДЫ Билет № 22 106) Как ...
-6 S3 = 1.58075·10-5 Задача 2 Для функции g(x), заданной своими значениями в шести точках, составить таблицу всех повторных разностей. Преобразовать функцию g(x) с помощью линейного преобразования x = a + b * k в функцию G(k) с целочисленным аргументом k. В качестве проверки правильности заполнения таблицы вычислить аналитически конечную разность Δng(x) = ΔnG(k) для n = 5. ...
... 2.6 Приведение интеграла Стилтьеса к интегралу Римана Пусть функция непрерывна в промежутке , а монотонно возрастает в этом промежутке, и притом в строгом смысле. Тогда, как показал Лебег, интеграл Стилтьеса с помощью подстановки непосредственно приводится к интегралу Римана. На рисунке изображен график функции . Для тех значений , при которых функция испытывает скачок (ибо мы вовсе ...
0 комментариев