- •Численное интегрирование
- •Формула трапеций
- •Введите число точек - 100
- •Формула Симпсона
- •Приближенное вычисление несобственных интегралов с бесконечными пределами
- •Аппроксимация некоторых несобственных интегралов определенными интегралами с точностью ε.
- •Упрощение подынтегральных функций
- •Приближенное вычисление несобственных интегралов от функции с бесконечным разрывом
- •Численное решение дифференциальных уравнений Основные определения и постановка задачи
- •Метод Эйлера
- •Методы Рунге-Кутта
- •Классический метод Рунге-Кутта
- •Метод наименьших квадратов Постановка задачи
- •Нахождение приближающей функции в виде линейной функции
- •Нахождение приближающей функции в виде других элементарных функций
- •Нахождение приближающей функции в виде квадратичной функции
Формула Симпсона
Найдем коэффициенты формулы ,
где , i=0,1,…,n при n=2.
При i = 0
При i = 1
При i = 2
Формула на отрезке [x0, x2] примет вид:
При n=2m применив формулу к каждой паре частичных отрезков [x2i-2, x2i] (i=1,2,…,m) получим формулу Симпсона:
Рассмотрим погрешность:
На отрезке [a, b]
или , где
При вычислении по методу повторного счета можно использовать формулу: . Если при вычислении интеграла требуемая точность не достигнута (т.е. ), предусматривается повторный счет с шагом, уменьшенным вдвое.
Программа вычисления по формуле Симпсона методом повторного счета:
program lab4_2;
var n: integer;
S,a,b,e,h,x,I_n,I_n2,M: real;
function f(x: real):real;
begin {записать, функцию в виде f:=[математическое выражение]}
f:=sin(x);
end;
begin
write('Введите концы отрезка интегрирования: ');
readln(a,b);
write('Введите погрешность e: '); readln(e);
I_n:=0;
n:=4;
Repeat
h:=abs(b-a)/n;
s:=(f(a)-f(b))/2;
x:=a+h;
repeat s:=s+2*f(x)+f(x+h);
x:=x+2*h;
until x>=b;
I_n2:=2*h*s/3;
n:=n*2;
M:=abs(I_n - I_n2);
I_n:=I_n2;
Until M<=15*e;
writeln('Интеграл I=',I_n2:12:7);
readln;
end.
Блок-схема вычисления по формуле Симпсона методом повторного счета |
Результаты работы программы: |
|
Введите концы отрезка интегрирования: 0 3.1415 Введите погрешность e: 0.001 Интеграл I= 2.0002691
Введите концы отрезка интегрирования: 0 3.1415 Введите погрешность e: 0.000001 Интеграл I= 2.0000001
|
Приближенное вычисление несобственных интегралов с бесконечными пределами
Пусть функция f(x) непрерывна на промежутке [a, +) и существует предел интеграла как функции верхнего предела интегрирования:
(*)
Тогда этот предел называют несобственным интегралом функции f(x) на промежутке [a, +) и обозначают .
В случае существования предела (*) говорят, что несобственный интеграл функции f(x) сходится на промежутке [a, +).
Представим несобственный интеграл на промежутке [a, +) в виде суммы определенного интеграла на отрезке [a, b] и несобственного на промежутке [b, +): .
Интеграл функции f(x) сходится на промежутке [a, +), если для любого числа ε>0 существует число в такое, что абсолютная величина второго интеграла будет меньше ε, т.е.
(**)
Тогда значение сходящегося несобственного интеграла на промежутке [a, +) равно с точностью ε определенному интегралу от функции f(x) на отрезке [a, b]:
В случае, когда вычисляют по одной из квадратурных формул, это ведет к увеличению погрешности. Тогда поступают следующим образом:
1) b выбирают настолько большим, чтобы имело место неравенство
2) определенный интеграл вычисляют по одной из квадратурных формул с точностью ε/2.
Таким образом, суммарная погрешность