Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Численные методы. Учебное пособие
.pdf
Таблица 5.1
xh
p
p
x
c
k
1 1/2 1 1 – – – –
2 1/3 1 4 1 – – –
3 3/8 1 3 3 1 – –
4 2/45 7 32 12 32 7 –
5 5/288 19 75 50 50 75 19
0
0
1
2
3
4
5
Метод Ньютона – Котеса 3-го порядка аппроксимации имеет
4-й порядок точности относительно шага интегрирования, метод 4-го
и 5-го порядков – 6-й порядок точности.
5.5. Выбор шага интегрирования
В основе алгоритмов с автоматическим выбором шага лежит пра-
вило Рунге
ется приближенная формула (),
где M – константа.
При вычислении с шагом rh получим
. Пусть для вычисления некоторой функции ()gx использу-
и
–(,)()
gx xh Mh
, (5.10)
() (–, ) ()
gx xrh Mrh
. (5.11)
Тогда, вычитая выражение (5.10) из (5.11), получим
φ(, ) φ(, )
hxrh
Mh
p
p
1
r
.
Пусть при последовательном уменьшении шага приближение, вы-
S
численное с шагом h,
обозначено как
S
, а
h
– с шагом h/r (в r раз
/hr
меньше), тогда процесс уменьшения h можно прекратить, если
SS
/
где
– заданная точность; p – порядок точности метода.
hhr
p
r
1
61
, (5.12)

5.6. Задание для самостоятельной работы к главе 5
x
x
x
x
x
x
x
x
x
x
xxx
xxx
1. Проанализировать поведение подынтегральной функции, заданной согласно варианту задания в табл. 5.2. Вычислить оценки шага интегрирования для заданных преподавателем методов и значений точности из табл. 5.2, используя формулы (5.2), (5.5), (5.7), (5.9). Расчеты
выполнить вручную или с использованием любых доступных математических программных пакетов.
Таблица 5.2
Номер варианта f (x) (a; b)
1
1
(2 3 )
2
1
(2 3 ) 2
3
4
5
(1 )
3
1
14 3
2, 5 0,1
ln( ) 1
6
7
ln( )
1, 2 0 , 3
(1)
xx
2
2
2
xx
2
x
x
2
1; 3 10
5; 15 10
2; 5 10
x
2
x
x
2
0,5; 4,5 10
3; 13 1; 10
5; 10 10
3; 7 1; 10
ln( )
8
9
10
2
e
2
2ln()
10
2sin()
10
2
2
2; 10 10
1; 8 10
1; 5 10
–2
; 10–3
–3
; 10–4
–2
; 10–3
–2
; 10–3
–1
; 10–2
–2
; 10–3
–1
; 10–2
–2
; 10–3
–1
–1
62

2. Разработать программную реализацию вычисления интеграла за-
данными методами с контролем точности, основанном на правиле Рунге, с учетом порядка точности метода. Входной информацией для разработанной программы должны быть пределы интегрирования и
требуемая точность. Подынтегральная функция жестко задается в программе. Выходная информация: значение интеграла и шаг, при кото-
оно вычислено. При разработке алгоритма стараться по возможно-
ром
минимизировать вычислительные затраты. Ограничений на
сти
среду разработки не накладывается.
3. Сравнить оценки шага со значениями шага, которые получены
в результате работы программ, а значения интеграла, вычисленные
программно, – с результатом, полученным в стороннем математическом программном пакете с высокой точностью.
Отчет должен содержать:
расчет оценок шага;
тексты разработанных программ;
результаты работы программы;
анализ полученных результатов.
63

f
x
x
f
x
6. РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ
УРАВНЕНИЙ
Пусть известно
dy
dx
(, )
xy
и начальная точка
()yx y. Задачу
00
поиска кривой ()yx, удовлетворяющей перечисленным соотношени-
ям, называют задачей Коши для дифференциального уравнения
(, )yfxy
с начальными условиями
(, )
y . При использовании
00
численных методов значения непрерывной функции ()yx , являющей-
ся решением, вычисляются на конечном дискретном множестве значе-
ний аргумента:
01 n
.
xx
Методы, которые сводят решение к набору рекуррентных соотношений, позволяющих по предыдущим уже вычисленным значениям ()yx найти следующие, называют
явными.
Неявными называют методы, в которых для определения значения
требуется решить в общем случае нелинейное, зависящее от вида
1ny
функции (, )
xy уравнение относительно
Одношаговыми называют методы, в которых для вычисления
требуется знать только одно предыдущее значение –
Если для вычисления
, , ,
значений
yy y
1
nn nm
y требуется знать несколько предыдущих
1n
, то такие методы называют многошаговыми.
y
.
1n
1ny
y .
n
6.1. Метод Эйлера
Решение в точке
с разложением ()yx в окрестности этой точки в ряд Тейлора до членов
hx x
, полученное по методу Эйлера, совпадает
1n
.
1–nn
64

Суть метода легко пояснить графически: предположим, что точка
x
x
y известна, тогда следующей точкой решения можно считать
(),
nn
точку на прямой
yy y xx
'( )
с абсциссой
nn n
, как показано на
1n
рис. 6.1.
y
n+1
y(x)
y
n
h f(xn, yn)
Погрешность метода
на n-м шаге
h
0
xn
x
n+1
Рис. 6.1
После замены производной в уравнении прямой на правую часть
расчетная формула будет выглядеть следующим образом:
yyhfxy
1
nn nn
(, )
. (6.1)
Этот метод имеет довольно большую погрешность, кроме того, он
часто оказывается неустойчивым, потому что малая ошибка, возникшая на шаге, влияет на последующие шаги. Рост накопленной ошибки
может быть настолько интенсивным, что погрешность начинает доминировать над решением вплоть до переполнения разрядной сетки
ЭВМ.
6.2. Модификации метода Эйлера
Исправленный метод Эйлера – это модификация метода, увели-
чивающая точность относительно шага до второго порядка. При этом
для вычисления решения в следующей точке требуется два вычисления
65

правой части: в предыдущей точке (),
x
x
f
f
x
f
методу Эйлера:
,,
hy hfx y
nn nn
y и в точке, найденной по
nn
.
Расчетная формула исправленного метода получается в результате
подстановки усредненного значения в выражение (6.1):
,,,
yyh . (6.2)
nn
1
xy fx hy hfxy
nn n n nn
2
Графически это можно интерпретировать как усреднение угла
наклона касательных (рис. 6.2).
K
1,2
K1
K
2
y
n+1
y
n
h
0
xn
x
n+1
y(x)
h
Рис. 6.2
Погрешность метода
на n-м шаге
,,,
xy fx hy hfxy
nn n n nn
2
Модифицированный метод Эйлера представляет собой другой
способ увеличения точности метода до второго порядка. Угол наклона
h
x
касательной вычисляется в средней точке
. Графическая интер-
n
2
претация метода приведена на рис. 6.3.
Через точку
наклона, равным (, )
(),
y проведена прямая 0K с тангенсом угла
nn
xy, она позволяет определить точку
nn
66

hh
x
x
,(,)
yfxy
nn nn
22
в результате замены точки (),
. Расчетная формула метода получается
y в выражении (6.1) этой средней
nn
точкой:
hh
yyhfx y fxy
1
nn n n nn
,(,).
22
K
K1
K
0
2
y(x)
y
n+1
y
n
h
hh
2
h
hf x y f x y
,(,)
nn nn
22
(6.3)
Погрешность метода
на n-м шаге
0
xn
x
n+1
Рис. 6.3
Графически это можно представить как использование прямой 2K ,
параллельной
K .
1
6.3. Метод Рунге – Кутты четвертого порядка
Перечисленные методы являются частными случаями методов
Рунге – Кутты
ные методы. Наиболее часто на практике применяется метод четвертого порядка, описанный в большинстве книг по методам вычислений. Он обеспечивает малую погрешность для широкого класса
уравнений и при этом довольно экономичен (на каждом шаге инте-
различного порядка точности, это одношаговые яв-
67

грирования требуется вычисление четырех значений функции правой
f
части ()),
xy .
Расчетная формула выглядит так:
h
yy kkkk
11234
nn
(2 2 )
6
,
где
(, )
kfxy;
1
(/2, /2)
kfxh yhk
21
kfxh yhk
32
nn
(/2, /2)
nn
(, )
kfxhyhk
43
nn
;
.
nn
;
6.4. Метод Рунге – Кутты – Мерсона
(с контролем точности)
Метод Мерсона представляет собой алгоритм с автоматическим
изменением
ний. Для каждой точки правая часть вычисляется пять раз, это позволяет оценить погрешность текущего шага.
Алгоритм метода можно записать следующим образом.
Шаг 1. Вычисляются
шага сетки, основанный на контроле точности вычисле-
k :
i
1
(, )
nn
khfxy;
11
khfx hy k
khfx hy k k
312
khfx hy k k
413
khfxhy k k k
5134
(, )
21
nn
33
111
(, )
nn
366
113
(, )
nn
288
,2
nn
13
22
68
;
;
;
.

Шаг 2. Находится оценка локальной ошибки:
f
f
x
F
F
F
F
1
(2 9 8 )
kkkk
n
1345
30
.
Шаг 3. Если выполняется неравенство
, где – заданная
n
точность, то h уменьшается в два раза и управление передается на шаг 1.
Шаг 4. Вычисляется решение
yykkk
1145
nn
Шаг 5. Если выполняется неравенство
121
63 6
n
, то h увеличивается
32
.
в два раза.
Шаг 6. Выполняется переход к следующей точке.
6.4. Семейство явных многошаговых методов Адамса
Пусть известно приближенное решение в первых k точках. Тогда в
этих точках ,()
аргумента x: () ),(
многочленом, построенным по этим известным точкам, то
Пусть k = 4, а расстояние между соседними
чается h. Тогда после интегрирования на интервале
xy можно рассматривать как функцию единственного
xy Fx. Если заменить ()Fx интерполяционным
xx
11
nn
yy Fxdxy Pxdx
11
nn n k
h
yFFFF
nnnnn
1123
24
() ()
xx
nn
i
55 59 37 9
.
одинаково и обозна-
(),
xx получим
nn
.
1
После вычисления очередного значения
Ffxy
nnn
(),
и перейти к следующей точке (n + 2). При этом
111
следует сохранить три последних значения
y можно определить
1n
,
,
1n
, чтобы не
n
2n
возникло необходимости вычислять их вновь на следующем (n + 2)-м
шаге. Значение
больше не понадобится, и память, в которой
3n
оно было записано, можно использовать повторно. При разработке
69

программы удобно хранить значения F в массиве и сдвигать их на
x
x
каждой итерации. В этом случае для получения одной точки решения
потребуется всего одно вычисление правой части уравнения. Порядок
точности рассмотренного метода относительно шага равен четырем.
Ниже представлены формулы для методов Адамса второго, третье-
го и пятого порядков:
h
yy FF
11
nn nn
(3 )
2
;
yy FF F
112
yy F F F F F
11234
nn n n n n n
h
(1901 2774 +2616 1274 251 )
720
h
(23 16 5 )
12
;
.
Метод k-го порядка требует предварительного вычисления решения
в k точках. Если по условиям задачи известно только одно начальное
значение, то для вычисления оставшихся приближений рекомендуется
воспользоваться одношаговым методом
того же порядка точности.
6.5. Задание для самостоятельной работы к главе 6
1. Аналитическими методами или сторонними программными
средствами найти точное решение задачи Коши для дифференциального уравнения (, )yfxy
ная точки заданы в таблице.
Номер варианта
1 10 – 2y – x 5 0 10
2 sin(x) – 2y 0 5 10
3 sin(x) – y 2 10 10
4 sin(x) – y + 10 0 0 10
5 x2 – 5y 0 10 6
6 y – x2 0 1 3
7 2 y – yx 0 5 5
8 y – 2 yx 0 1 3
9 cos(x) – y + 5 0 1 7
10 x2 – x + y 0 0 2
. Правая часть уравнения, начальная и конеч-
,()fxy
0
y
0
n
70
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
