Вычисление определенного интеграла с заданной точностью методом Ньютона-Котеса
НИЖЕГОРОДСКИЙ
ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
Кафедра: «Высшая математика»
Курсовая работа
по
информатике
Тема:
Вычисление
определенного интеграла
с заданной точностью
методом Ньютона-Котеса (n=7)
Вариант
№ 4
Выполнил: студент группы 10-А3
Ераксин О.В.
Нижний Новгород
2011
Содержание
Стр.
Введение…….……………………………………..………
1. Постановка задачи ……………………………..…………………………………..6
1.1. Вычисление определенного интеграла с заданной точностью методом Ньютона-Котеса ………………………………………………………………………..6
2. Методика решения задачи ..……………………………………………………….10
2.1. Получение разрешающего уравнения ...…….………..…………………….......10
2.2 Вычислительная схема метода Ньютона-Котеса ....………………….......11
3. Блок-схемы
алгоритма………………………………………………………
3.1. Блок-схема основной программы………………………………………...12
3.2. Блок-схема процедуры………………………………………………...
3.3. Блок-схема функции
………...........................
4. Программа
на языке Pascal………………………………………
4.1. Основная
программа.....................
4.2. Процедура.....................
5.Выводы....……………………………….……………
Введение.
Инженеру часто приходится вычислять значения определенного интеграла численными методами. Это бывает в тех случаях, когда-либо не удается выразить интеграл в замкнутой форме, либо она настолько сложна, что проще воспользоваться численным интегрированием. Численное интегрирование представляет собой устойчивый процесс. В основе численного интегрирования лежит приближенное вычисление площади под кривой, описываемой подынтегральной функцией. В общем, виде задача формулируется как нахождение значения
Методы численного интегрирования классифицируются в зависимости от того, заданы ли значения аргумента через равные интервалы или нет. Краткий обзор некоторых из них.
Формулы Ньютона — Котеса получаются путем замены подынтегральной функции интерполяционным многочленом Лагранжа с разбиением отрезка интегрирования на n равных частей. Получающиеся формулы используют значения подынтегральной функции в узлах интерполяции и являются точными для всех многочленов некоторой степени, зависящей от числа узлов. Точность формул растет с увеличением степени интерполяционного многочлена. Заметим, что формулы прямоугольников, трапеций и Симпсона являются частными случаями формул Ньютона — Котеса.
Метод Гаусса не предполагает разбиения отрезка интегрирования на равные промежутки. Формулы численного интегрирования интерполяционного типа ищутся такими, чтобы они обладали наивысшим порядком точности при заданном числе узлов. Узлы и коэффициенты формул численного интегрирования находятся из условий обращения в нуль их остаточных членов для всех многочленов максимально высокой степени.
Формула Эрмита, являющаяся частным случаем формул Гаусса, использует многочлены Чебышева для вычисления интегралов вида
Получающаяся формула характерна тем, что все коэффициенты при равны.
Метод Маркова состоит в том, что при выводе формул Гаусса вводятся дополнительные предположения о совпадении точек разбиения отрезка по крайней мере с одним из его концов.
Формула Чебышева представляет интеграл в виде
При этом решается следующая задача: найти точки и коэффициент k такие, при которых остаточный член R обращается в нуль, когда функция является произвольным многочленом возможно большей степени.
Формула Эйлера использует не только значения подынтегральной функции в точках разбиения, но и ее производные до некоторого порядка на границах отрезка.
При вычислении определенного интеграла, где - непрерывная на отрезке функция, иногда удается воспользоваться известной формулой Ньютона - Лейбница:
Здесь - одна из первообразных функций (т.е. такая функция, что ). Однако даже в тех, практически редких, случаях, когда первообразную удается явно найти в аналитической форме, не всегда удается довести до числового ответа значение определенного интеграла. Если к тому же учесть, что иногда подынтегральная функция вовсе задается таблицей или графиком, то становится понятным, почему интегрирование по формуле (1) не получает широкого применения на практике.
В подобных случаях применяют различные методы приближенного (численного) интегрирования. Формулы, используемые для приближенного вычисления однократных интегралов, называют квадратурными формулами. Простой прием построения квадратурных формул состоит в том, что подынтегральная функция заменяется на отрезке интерполяционным многочленом, например многочленом Лагранжа и получается приближенное равенство
Подобный
подход удобен тем, что он приводит
к алгоритмам,
легко реализуемым на ЭВМ и позволяющим
получать результат с достаточной точностью.
При этом, естественно, предполагается,
что отрезок
разбит на n частей точками,
наличие которых подразумевается
при построении многочлена
.
Постановка задачи.
Вычисление определенного интеграла с заданной точностью методом Ньютона-Котеса.
Необходимо подынтегральную функцию , для которой нельзя получить первообразную, заменить, на отрезке , интерполяционным многочленом. Подставляя вместо его представление
получим:
Таким образом:
где
По поводу полученных формул можно заметить, что:
1) коэффициенты не зависят от функции , так как они составлены только с учетом узлов интерполяции;
2) если - полином степени n, то тогда формула (2) точная, ибо в этом случае .
Как уже
отмечалось выше, применение формулы (2)
предполагает построение на отрезке интегрирования системы
узлов интерполяции
(здесь
),
которыми отрезок делится на n частей.
Длина
называется при этом шагом интегрирования.
Естественно считать,
что шаг h постоянен, т. е.
. В этом случае можно
применить интерполяционную формулу Лагранжа
для равноотстоящих узлов. Итак, с учетом
и
формула
(5.21) для «весовых» коэффициентов
Перейдем в этом интеграле всюду к переменной t. Из подстановки получаем: , т. е. .
При имеем , а при будет . Тогда
где
Числа (5) называют коэффициентами Котеса. Как видно, коэффициенты Котеса не зависят от функции , а только от числа n точек разбиения. С учетом формул (3) и (6), получаем следующий вид квадратурных формул Ньютона - Котеса:
дающих на одном участке интегрирования различные представления для различного числа n отрезков разбиения. Окончательно, формула имеет следующий общий вид:
Последний член в формуле Ньютона — Котеса:
указывает на порядок величины ошибки, обусловленный аппроксимацией.
k— степень используемых многочленов, x*— некоторая точка в интервале , - значение k-й производной функции в точке x* (в этой точке принимает максимальное значение).
Значения
коэффициентов
и
приведены в табл. (см. ниже). В каждой
строке этой таблицы представлен цикл
k полос, включающий k+1 узловых точек,
необходимых для получения многочлена
k-й степени.
Коэффициенты
в формуле Ньютона -
Котеса
| k | |||||||||||
| 1 | 1 | 1 | |||||||||
| 2 | 1 | 4 | 1 | ||||||||
| 3 | 1 | 3 | 3 | 1 | |||||||
| 4 | 7 | 32 | 12 | 32 | 7 | ||||||
| 5 | 19 | 75 | 50 | 50 | 75 | 19 | |||||
| 6 | 41 | 216 | 27 | 272 | 27 | 216 | 41 | ||||
| 7 | 751 | 3577 | 1323 | 2989 | 2989 | 1323 | 3577 | 751 | |||
| 8 | 989 | 5888 | -928 | 10946 | -4540 | 10946 | -928 | 5888 | 989 |
Методика решения задачи.
Получение разрешающего уравнения.
Используя данные для задачи (разбиение должно быть кратно 5), получаем уравнение для одного цикла:
Для нескольких циклов, суммируя, получаем:
Вычислительная схема метода Ньютона-Котеса.
Заданы значения: n, a, b, ω(z).
1.
2.
3. S = 0
4.
5. C I = 1, до n
6. С J=1, до 6
7.
8.
9.
Блок-схемы алгоритма.
Блок-схема основной программы.
Блок-схема процедуры метода Ньютона-Котеса.
Блок-схема функции.
Программа на языке Pascal.
Основная программа.
Program Kurs_rab;
Uses Crt, MNK;
Const fdata='fdata.pas';
Type Tip_r=double;
Var n:integer; fd:text; a,b:real;
i,i0:double; it,e,h:Tip_r; k,m,j:integer;
Function f(x:real):double; far;
Begin
F :={x*x}sqrt(1-0.49*sqr(sin(x))
End;
Begin
Clrscr;
Assign (fd,fdata);
Reset (fd);
Readln (fd,a);
Readln (fd,b);
Readln (fd,e);
Readln (fd,n);
Readln (fd,m);
Readln (fd,it); {Окончание ввода параметров}
Append (fd);
Writeln (fd);
Writeln;
Writeln ('Значение начала области интегрирования: ',a:6:8);
Writeln (fd,'Значение начала области интегрирования: ',a:6:8);
Writeln ('Значение конца области интегрирования: ',b:6:8);
Writeln (fd,'Значение конца области интегрирования: ',b:6:8);
Writeln ('Минимальное значение приближения: ',e:6:8);
Writeln (fd,'Минимальное значение приближения: ',e:6:8);
Writeln ('Начальное значение деления области интегрирования: ',n:3);
Writeln (fd,'Начальное значение деления области интегрирования: ',n:3);
Writeln ('Количество итераций: ',m:6);
Writeln (fd,'Количество итераций: ',m:6); {Окончание вывода параметров}
K:=1;
Mnk (f,a,b,n,i);
Writeln (fd,'Число итераций (k)',k:6);
Writeln ('Число итераций (k)',k:6);
Writeln (fd,'Значение интеграла (i) ',i:6:10);
Writeln ('Значение интеграла (i) ',i:6:10);
Repeat
N: =2*n;
I0:=i;
Mnk (f,a,b,n,i);
Writeln (fd,'Значение k',k:6);
Writeln ('Значение k',k:6);
Writeln (fd,'Значение i ',i:6:10);
Writeln ('Значение i ',i:6:10);
Writeln ('Значение n',n:6);
Writeln (fd,'Значение n',n:6);
K: =k+1;
If k>=m then
Begin
Writeln ('Закончились итерации!!!');
Writeln (fd,'Закончились итерации!!!');
Break;
End;
Until (abs(i-i0)<=e);
Writeln (fd,'Значение k',k:6);
Writeln ('Значение k',k:6);
Writeln (fd,'Значение интеграла (i) ',i:6:10);
Writeln ('Значение интеграла (i) ',i:6:10);
Writeln ('Значение n',n:6);
Writeln (fd,'Значение n',n:6);
Writeln ('Значение (b-a)/n ',(b-a)/n:6:8);
Writeln (fd,'Значение (b-a)/n ',(b-a)/n:6:8);
Writeln ('Отклонение от точного значения: ',abs(it-i));
Writeln (fd,'Отклонение от точного значения: ',abs(it-i));
Writeln (fd,'Точное значение интеграла: ',it:6:8);
Writeln ('Точное значение интеграла: ',it:6:8);
Writeln ('Для выхода нажмите Enter');
Readkey;
Close(fd);
End.
Процедура.
Unit M_N_K;
Interface
Const
n1=6; w:array[1..n1]of real=(19,75,50,50,75,19);
Type
R_F=function(x:real):real; Tip_r=extended;
Procedure mnk(f:r_f;a,b:real; n:integer; var s:real);
Implementation
Uses crt;
Procedure mnk;
var h,x,m:Tip_r; j,i:integer;
Begin
S: =0;
M: =n;
H: =(b-a)/m;
X: =a;
For j: =1 to n do
Begin
For I: =1 to n1 do
S: =s+w[i]*f(x+(i-1)*h);
X: =x+7*h;
End;
S :=(7/288)*h*s;
End;
End.
Выводы.
В данной работе был рассмотрен метод Ньютона-Котеса, по которому была написана программа с определением шага, которая является более точной, чем с ручным заданием шага, т.к. при определении шага конечное значение x=b, а при ручном x>b, и из-за этого расчётное значение интеграла оказывается больше.
Результаты тестирования.
Я провёл исследование зависимости погрешности от числа участков n на примере функции значение интеграла .
Таблица результатов тестирования:
| K | N | H | |
| 1 | 1 | 0,314159 | 5.843505E-06 |
| 2 | 2 | 0,157079 | 8.417681E-08 |
| 3 | 4 | 0.078539 | 1.312489E-09 |
| 4 | 8 | 0.039269 | 4.343255E-11 |
| 5 | 16 | 0.019634 | 2.337268E-11 |
| 6 | 32 | 0.009817 | 2.337810E-11 |
| 7 | 64 | 0.004908 | 2.337977E-11 |
| 8 | 128 | 0.002454 | 2.337982E-11 |
| 9 | 256 | 0.001227 | 2.338028E-11 |
| 10 | 512 | 0.000613 | 2.337981E-11 |
| 11 | 1024 | 0.000307 | 2.337977E-11 |
| 12 | 2048 | 0.000153 | 2.338044E-11 |
| 13 | 4096 | 0.000077 | 9.266549E-01 |
| 14 | 8192 | 0.000038 | 1.399958E-09 |
| 15 | 16384 | 0.000019 | 1.399958E-09 |
Рассмотрим график изменения погрешности от числа участков интегрирования:
Для подобных интегралов точность до шестого знака после запятой достигается на 2 итерации, далее на 12 итерации она падает из–за погрешности в определении шага и операциями с этой величиной, при большой величине разбиения области интегрирования, т. к. разница между соседними значениями x и, следовательно, значениями функции, близка к нулю.
Достоинства и недостатки метода.
К достоинствам метода можно отнести:
1. Когда функция , то при подстановке определённый интеграл вычисляется с высокой точностью, за небольшое количество итераций;
2. Возможно определить погрешность по формуле: , очевидно, что при уменьшении h величина убывает еще быстрее.
К недостаткам метода можно отнести:
1. Следует иметь в виду, что ошибка зависит также от . Есть функции, для которых производные высоких порядков приобретают очень большие значения;
2. При
вычислении интеграла, функция
которого внутри интервала [a;
Литература.
- Турчак Л.И. Основы численных методов. М.: Наука,1987.
- Шуп Т. Решение инженерных задач на ЭВМ. М.: Мир,1982.
- Зубов В.С. Справочник программиста. М.: Филинъ,1999.
- Данилина Н.И., Дубровская Н.С., Кваша О.П., Смирнов Г.Л., Феклисов Г.И., Численные методы. М.: Высшая школа,1976.
- Заварыкин В.М., Житомирский В.Г., Лапчик М.П., Численные методы. М.: Просвещение,1991.

- Вычисление определённых интегралов
- Вычисление основных показателей
- Вычисление основных показателей статиститки
- Вычисление параметров модели объекта на персональном компьютере
- Вычисление плановых координат точек съёмочной сети
- Вычисление площадей земельных ресурсов ОАО «Атланта» в различных системах координат
- Вычисление площадей землепользований и контуров угодий
- Вычисление интеграла
- Вычисление интеграла функции f(x), используя квадратурную формулу Гаусса
- Вычисление интегралов методом Монте-Карло
- Вычисление и распределение конкурсной массы предприятия в процессе банкротства
- Вычисление и существование площади поверхности в школьном курсе математики
- Вычисление корней системы линейных уравнений методом Крамера
- Вычисление определенного интеграла методом Симпсона