Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Численные методы. Учебное пособие

.pdf
Скачиваний:
3
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
Таблица 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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]