ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 19.06.2025
Просмотров: 1092
Скачиваний: 1
68 |
|||||||||||||||
для формулы Симпсона |
( b - a )5 |
||||||||||||||
R(h) ≤ n × |
h5 |
max |
f ( 4 )( x ) |
= |
max |
f ( 4 )( x ) |
; |
(9) |
|||||||
180( 2n )4 |
|||||||||||||||
где h = |
b − a |
. |
90 a≤x≤b |
a≤ x≤b |
|||||||||||
2n |
|||||||||||||||
5.5 Метод двойного пересчета
Следует отметить, что практическое значение оценок (7)-(9) невелико ввиду сложности их использования. Поэтому при численном интегрировании прибегают к другим приемам. В частности, вычисляют интегралы по квадратурным формулам (2), (4), (5) при делении отрезка на n частей и 2n частей. Если получающиеся значения обозначить соответственно через In и I2n, то совпадение первых знаков In и I2n позволяет судить о точности полученных значений. Чтобы определить, как сильно уклоняется значение I2n от точного значения интеграла I, используется правило Руни:
I - I2n » 2k 1- 1 In - I2n ,
где k=2 для формул прямоугольников и трапеций и k=4 для формулы Симпсона. При заданной e точности вычисления с уменьшающимся шагом следует
прекратить, если
1
2k - 1
при этом полагают, что I » I2n с точностью e.
5.6 Алгоритм вычисления интегралов по формулам прямоугольников, трапеций и Симпсона
1. Определить исходные данные: a – начало интервала интегрирования; b – конец интервала интегрирования;
n– число частей разбиения.
2.Вычислить шаг интегрирования h = (b – a) / n.
3.Вычислить начальные значения интегральных сумм: Ip:=f(a+h/2) – для метода прямоугольников, It:=(f(a)+f(b))/2 – для метода трапеций.
4.Организовать цикл накопления подынтегральной суммы, изменяя значения параметра цикла i от 1 до n - 1 с шагом 1.
5.Вычислить: Ip:=Ip+f(a+h*(i+1/2)) – интегральную сумму метода прямоугольников, It:=It+f(a+i*h) – интегральную сумму метода трапеций.
6.Выполнить вывод результатов: h*Ip – значение интеграла, вычисленное по методу прямоугольников, h*It – значение интеграла, вычисленное по методу трапеций, h/6*(4*Ip+2*It) – значение интеграла, вычисленное по методу Симпсона.
69
7. Конец вычислений.
π / 2
Пример. Вычислить интеграл òcos x dx
0
по формулам прямоугольников, трапеций и Симпсона, если отрезок интегрирования разбит на n равных частей. Сравнить приближенные значения интеграла с точными.
Вычисления производятся по формулам (2), (4), (6).
5.7 Программа на языке Turbo Pascal для вычисления интегралов по формулам прямоугольников, трапеций и Симпсона
program pIPTS; uses crt;
function f(x:real):real; {вычисление значений подынтегральной функции} begin
f:=cos(x);
end;
var a,b,h,Ip,It,Is:real; i,n:integer;
begin a:=0;b:=pi/2;n:=100;
h:=(b-a)/n; {шаг интегрирования} Ip:=f(a+h/2); {для метода прямоугольников} It:=(f(a)+f(b))/2;{для метода трапеций}
for i:=1 to n-1 do begin {цикл накопления подынтегральной суммы} Ip:=Ip+f(a+h*(i+1/2));{интегральная сумма метода прямоугольников} It:=It+f(a+i*h); {интегральная сумма метода трапеций}
end;
clrscr;
writeln('Значение интеграла метода прямоугольников= ',h*Ip:17:9); writeln('Значение интеграла метода трапеций= ',h*It:17:9); writeln('Значение интеграла метода Симпсона= ',h/6*(4*Ip+2*It):17:9); writeln('Контроль = ',sin(pi/2):12:9);
readkey; end.
70
5.8 Вычисление интегралов по формулам прямоугольников, трапеций и парабол средствами MS Excel
Формулы для вычисления интегралов по формулам прямоугольников, трапеций и парабол:
A |
B |
C |
D |
E |
F |
||
1 |
a |
b |
n |
h |
Ip0 |
It0 |
|
2 |
0=ПИ()/2 |
100 |
=(B2-A2)/C2 |
=COS(A2+D2/2) |
=(COS(A2)+COS(B2))/2 |
||
3 |
|||||||
4 |
|||||||
5 |
I |
Ip |
It |
||||
6 |
=D6+1 |
=E6+COS($A$2+$D$2*(D6+1/2))=F6+COS($A$2+D6*$D$2) |
|||||
7 |
интегральная сумма |
=E2+E6 |
=F2+F6 |
||||
8 |
|||||||
9 |
значения интегралов |
||||||
10 |
прямоугольник |
трапе- |
парабола |
контроль |
|||
ция |
|||||||
11 |
=D2*E7 |
=D2*F7 |
=D2/6*(4*E7+2*F7) |
=SIN(ПИ()/2) |
|||
Для вычисления формул необходимо установить предельное число итераций 99 (с помощью команды меню Сервис/ Параметры/ Вычисления).
Результат вычисления интегралов:
A |
B |
C |
D |
E |
F |
|
1 |
a |
b |
n |
h |
Ip0 |
It0 |
2 |
0 |
1,570796327 |
100 |
0,015707963 |
0,999969158 |
0,5 |
3 |
||||||
4 |
||||||
5 |
I |
Ip |
It |
|||
6 |
99,00 |
62,66266258 |
63,16066823 |
|||
7 |
интегральная сумма |
63,66263174 |
63,66066823 |
|||
8 |
||||||
9 |
значения интегралов |
|||||
10 |
прямоугольник |
трапеция |
парабола |
контроль |
||
11 |
1,000010281 |
0,999979438 |
1 |
1 |
||
71
5.9 Вычисление интегралов средствами MachCAD
Система MathCAD содержит встроенную функцию для вычисления значений определенных интегралов приближенным численным методом. Ею целесообразно пользоваться, когда надо получить значение определенного интеграла в виде числа.
В системе MachCAD выполните следующие действия:
ó
ô d
1. Щелкните по кнопке õ
в панели инструментов Calculus;
2.Введите в помеченных позициях выражение для функции, имя переменной и пределы интегрирования;
3.Введите знак равенства;
4.Получите результат
π
ó 2
ô
ô cos(x) dx = 1
õ0
Задания к данной теме приведены в приложении Д.
72
6 ЧИСЛЕННОЕ РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ
6.1 Задача Коши |
|
Требуется найти функцию Y=Y(x), удовлетворяющую уравнению |
|
Y′=f(x,Y), |
(1) |
и принимающую при x=x0 заданное значение Y0: |
|
Y(x0)=Y0,. |
(2) |
При этом будем для определенности считать, что решение нужно получить для значений x>x0.
Теорема Коши. Если правая часть f(x,y) уравнения y′=f(x,y) и ее частная производная f′y(x,y) определены и непрерывны в некоторой области G изменения переменных x, y, то для всякой внутренней точки (x0, y0) этой области данное уравнение имеет единственное решение, принимающее заданное значение y=y0 при x=x0.
Согласно теореме Коши решение Y(x) задачи (1), (2) существует и единственно.
Методы решения задачи (1), (2) распространяются на случай систем уравнений вида (1), а к ним в свою очередь можно привести также уравнения высших порядков. Например, уравнение
Z′′=ϕ(Z′,Z,x)
можно записать в виде системы уравнений относительно функции Y1,Y2:
Y′1=ϕ(Y1,Y2,x). |
(3) |
Y′2=Y1,
где Y1=Z′, Y2=Z.
6.2 Метод Рунге-Кутта для решения дифференциальных уравнений
Метод Рунге-Кутта для решения задачи Коши используют для вычисления значения yi+1 (i=0, 1, …), значения yi , а также значения функции f(x,y) при некоторых специальным образом выбираемых значениях x [xi, xi+1] и y.
Широко распространен метод Рунге-Кутта четвертого порядка:
yI+1 = yi + |
h |
(f1 + 2f2 + 2f3 + f4), |
(4) |
|
6 |
||||
где |
||||
f1 |
= f(xi, yi), |
|||
f2 |
= f(xi + h/2, yi + hf1/2), |
(5) |
||
73
f3 = f(xi + h/2, yi + hf2/2), f4 = f(xi + h, yi + hf3).
Таким образом, данный метод Рунге-Кутта требует на каждом шагу четырехкратного вычисления правой части f(x,Y) уравнения (1). Суммарная погрешность этого метода есть величина O(h4).
Метод Рунге-Кутта требует большого объема вычислений, но обеспечивает повышенную точность, что дает возможность проводить счет с большим шагом.
6.3 Алгоритм решения задачи Коши методом Рунге-Кутта
1. Задать начальные условия: x0= α, y |x 0 = y0, шаг интегрирования h , конец интервала интегрирования β.
2.Организовать цикл интегрирования.
2.1Вычислить значения f1, f2, f3, f4.
2.2Вычислить y = y0 + h(f1 + 2f2 + 2f3 + f4)/6.
2.3Увеличить значение x на h, т. е. x = x + h.
2.4Вывод текущих значений x, y.
2.5Установить значение y0 = y.
3.Конец цикла интегрирования: условие завершения x > β.
4.Конец вычислений.
Пример. Составить алгоритм и программу решения задачи Коши для дифференциального уравнения первого порядка y′ - y * ctgx = sinx, y |x=π/2 = 0 на равномерной сетке отрезка [π/2,π/2+1] с шагом h, вводимым с клавиатуры, классическим методом Рунге-Кутта. Сравнить численное решение с точным
æ |
p ö |
|
ϕ(x)=ç x - |
2 |
÷ sinx. |
è |
ø |
|
Вычисления выполнить по формулам (5)-(6).
6.4 Программа на языке Turbo Pascal для решения задачи Коши методом Рунге-Кутта
program Runge_Kutta; uses crt;
function f(x,y:real):real; {функция вычисления первой производной} begin
f:= sin(x)+y*cos(x)/sin(x); end;
function ft(x,y:real):real; {функция вычисления точного значения} begin