ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 02.08.2019
Просмотров: 4711
Скачиваний: 6

Лекция 5
41
Отсюда
f
0
(x)
− P
0
n
(x) = R
0
n
(x) =
d
dx
"
f
(n+1)
(ξ(x))
(n + 1)!
ω
n+1
(x)
#
=
=
1
(n + 1)!
h
f
(n+2)
(ξ(x))ξ
0
(x)ω
n+1
(x) + f
(n+1)
(ξ(x))ω
0
n+1
(x)
i
.
В записи присутствует производная неизвестной нам функции
ξ(x). Это
мешает оценить
R
0
n
(x). При этом значение R
0
n
(x) может оказаться доста-
точно большим (большим требуемой точности). Таким образом примене-
ние многочлена Лагранжа для численного нахождения производных в об-
щем случае неприменимо.
1.5.5
Метод неопределённых коэффициентов.
Искомое выражение для производной
k-то порядка в некоторой точке
x = x
i
представляется в виде линейной комбинации заданных значений
функции в узлах
x
0
, x
1
, . . . , x
n
:
y
(k)
(x
i
)
≈ c
0
y
0
+ c
1
y
1
+ . . . + c
n
y
n
.
(5.1)
Предполагается, что это соотношение выполняется точно, если функция
y является многочленом степени не выше n, т. е. может быть представлена
в виде
y = b
0
+ b
1
(x
− x
0
) + . . . + b
n
(x
− x
0
)
n
.
Отсюда следует, что соотношение (5.1), в частности, должно выполняться
точно для многочленов
y = 1, y = x
− x
0
, . . . , y = (x
− x
0
)
n
. Подставляя
последовательно эти выражения в (5.1) и требуя выполнения точного ра-
венства, получаем систему
n + 1 линейных алгебраических уравнений для
определения неизвестных коэффициентов
c
0
, c
1
, . . . , c
n
.
Пример.
Найти выражение для производной
y
0
1
в случае четырёх рав-
ноотстоящих узлов (
n = 3 и x
i+1
− x
i
= h = const, где i = 1, 2, 3).
Приближение (3.10) запишется в виде
y
0
1
≈ c
0
y
0
+ c
1
y
1
+ c
2
y
2
+ c
3
y
3
.
(5.2)

Лекция 5
42
Используем следующие многочлены:
y = 1,
y = x
− x
0
,
y = (x
− x
0
)
2
,
y = (x
− x
0
)
3
.
(5.3)
Вычислим их производные:
y
0
= 0,
y
0
= 1,
y
0
= 2(x
− x
0
),
y
0
= 3(x
− x
0
)
2
.
(5.4)
Подставляем последовательно соотношения (5.3) и (5.4) соответственно
в правую и левую части (5.2), при
x = x
1
требуя выполнения точного
равенства:
0 = c
0
· 1 + c
1
· 1 + c
2
· 1 + c
3
· 1,
1 = c
0
(x
0
− x
0
) + c
1
(x
1
− x
0
)1 + c
2
(x
2
− x
0
)1 + c
3
(x
3
− x
0
),
2(x
1
− x
0
) = c
0
(x
0
− x
0
)
2
+ c
1
(x
1
− x
0
)
2
1 + c
2
(x
2
− x
0
)
2
1 + c
3
(x
3
− x
0
)
2
,
3(x
1
− x
0
)
2
= c
0
(x
0
− x
0
)
3
+ c
1
(x
1
− x
0
)
3
1 + c
2
(x
2
− x
0
)
3
1 + c
3
(x
3
− x
0
)
3
.
Получаем окончательно систему уравнений в виде
c
0
+ c
1
+ c
2
+ c
3
= 0,
hc
1
+ 2hc
2
+ 3hc
3
= 1,
hc
1
+ 4hc
2
+ 9hc
3
= 2,
hc
1
+ 8hc
2
+ 27hc
3
= 3.
Решая эту систему, получаем
c
0
=
−
1
3h
,
c
1
=
−
1
2h
,
c
2
=
1
h
,
c
3
=
−
1
6h
.
Подставляя эти значения в (5.2), находим выражение для производной:
y
0
1
≈
1
6h
(
−2y
0
− 3y
1
+ 6y
2
− y
3
).
1.5.6
Разложение в ряд Тейлора.
Будем считать, что в таблице используется равномерный шаг:
x
i
− x
i
−1
=
h = const, где i = 1, 2, . . . , n. Разложим f (x
i
−1
) в ряд Тейлора в окрестно-
сти точки
x
i
:
f (x
i
−1
) = f (x
i
) + (x
i
−1
− x
i
)f
0
(x
i
) +
(x
i
−1
− x
i
)
2
2!
f
00
(ξ), где x
i
−1
6
ξ
6
x
i
.

Лекция 5
43
Для краткости заменим
f (x
i
)
→ f
i
и
x
i
− x
i
−1
→ h:
f
i
−1
= f
i
− hf
0
i
+ h
2
f
00
(ξ)/2.
Откуда
f
0
i
=
f
i
−f
i
−1
h
+ h
f
00
(ξ)
2
. Приближённо можно положить
f
0
i
≈
f
i
−f
i
−1
h
.
Ясно, что ошибка при этом будет не более, чем
hM
2
/2 = O(h), где M
2
=
max
[x
i
−1
,x
i
]
|f
00
(x)
|. Полученную формулу для f
0
i
принято называть левой раз-
ностью.
Аналогично получается правая разность:
f
0
i
≈
f
i+1
−f
i
h
+ O(h).
Разложим теперь
f
i
−1
и
f
i+1
до
h
3
:
f
i
−1
= f
i
− hf
0
i
+ h
2
f
00
(x)
2!
− h
3
f
000
(ξ
−
)
3!
, x
i
−1
6
ξ
−
6
x
i
,
f
i+1
= f
i
+ hf
0
i
+ h
2
f
00
(x)
2!
+ h
3
f
000
(ξ
+
)
3!
, x
i
6
ξ
+
6
x
i+1
.
Найдём разность последних двух равенств и выделим
f
0
i
:
f
0
i
=
f
i+1
− f
i
−1
2h
+ h
2
f
000
(ξ
−
) + f
000
(ξ
+
)
6
.
Приближённое равенство
f
0
i
≈
f
i+1
−f
i
−1
2h
называют центральной разностью.
Погрешность при этом равна
f
0
i
−
f
i+1
−f
i
−1
2h
= h
2 f
000
(ξ
−
)+f
000
(ξ
+
)
6
= h
2 f
000
(η)
3
=
O(h
2
, где
η
∈ [x
i
−1
, x
i+1
].
Чтобы получить формулу для
f
00
i
, разложим
f
i
−1
и
f
i+1
до
h
4
f
i
−1
= f
i
− hf
0
i
+ h
2
f
00
(x)
2!
− h
3
f
000
(x)
3!
+ h
4
f
IV
(ζ
−
)
4!
, x
i
−1
6
ζ
−
6
x
i
,
f
i+1
= f
i
+ hf
0
i
+ h
2
f
00
(x)
2!
+ h
3
f
000
(x)
3!
+ h
4
f
IV
(ζ
+
)
4!
, x
i
6
ζ
+
6
x
i+1
.
Если сложить разложения
f
i
−1
и
f
i+1
и затем выразить
f
00
(x), получим
f
00
i
=
f
i+1
− 2f
i
+ f
i
−1
h
2
− h
2
f
IV
(ζ
−
) + f
IV
(ζ
+
)
24
.
Погрешность
f
00
i
−
f
i+1
−2f
i
+f
i
−1
h
2
=
−h
2 f
IV
(ζ
−
)+f
IV
(ζ
+
)
24
=
−h
2 f
IV
(τ )
12
= O(h
2
), где
τ
∈ [x
i
−1
, x
i+1
], имеет порядок 2.
1
Мы предполагаем, что
f
000
(x) непрерывна на [x
i−1
, x
i+1
]. Пусть для определённости
f
000
(ξ
−
) 6 f
000
(ξ
+
). Тогда f
000
(ξ
−
) 6
f
000
(ξ
−
)+f
000
(ξ
+
)
2
6 f
000
(ξ
+
). С силу непрерывности f
000
(x)
найдётся точка
η
∈ [x
i−1
, x
i+1
] такая, что f
000
(η) =
f
000
(ξ
−
)+f
000
(ξ
+
)
2

Лекция 5
44
Замечание. Погрешность
O(h) говорит о том, что ошибка убывает
пропорционально шагу
h. Погрешность O(h
2
) говорит о том, что ошиб-
ка убывает пропорционально квадрату шага
h. Например,
Шаг Формула с погрешн.
O(h) Формула с погрешн. O(h
2
)
h
погрешность
ε
погрешность
ε
h/2
погрешность
ε/2
погрешность
ε/4
h/4
погрешность
ε/4
погрешность
ε/16
Про погрешность
O(h
p
) говорят, что она имеет порядок p.
1.5.7
Неустойчивость формул численного дифференцирования
Рассмотрим влияние погрешности входных данных на результат вычис-
ления производных по формулам ЧД. Пусть в точках
x
i
,
i = 0, 1, . . . , n
заданы значения функции
˜
y
i
, которые отличаются от точных значений
y
i
= y(x
i
), т.е. ˜
y
i
= y
i
± δ
i
, где
δ
i
— погрешность входных данных. Ве-
личина
δ = max
i
δ
i
обычно бывает известна. Пусть в точке
x = x
i
нужно
приближённо вычислить
y
0
(x).
y
0
(x
i
)
≈
˜
y
i+1
− ˜y
i
h
.
Погрешность формулы
∆ =
y
0
−
˜
y
i+1
− ˜y
i
h
=
y
0
−
y
i+1
− y
i
h
+
y
i+1
− y
i
h
−
˜
y
i+1
− ˜y
i
h
6
6
y
0
−
y
i+1
− y
i
h
+
y
i+1
− ˜y
i+1
h
+
y
i
− ˜y
i
h
6
M
2
2
h +
δ
h
+
δ
h
= Φ(h),
где
M
2
= max
[x
i
,x
i+1
]
|y
00
(x)
|. Здесь
M
2
2
h — методическая ошибка,
2δ
h
— неустра-
нимая погрешность. Наша цель — минимизировать ошибку, т.е.
Φ(h). Для
этого нельзя неограниченно уменьшать шаг
h, т.к. Φ(h) в какой-то момент
начинает расти. Найдём оптимальное значение
h
∗
.
h
opt
:
Φ
0
(x) =
M
2
2
−
2δ
h
2
= 0
⇒
h
opt
= 2
q
δ/M
2
Φ(h
opt
) =
M
2
2
· 2
q
δ/M
2
+ 2δ
·
1
2
q
M
2
/δ = 2
p
M
2
δ.

Лекция 5
45
Пример.
M
2
∼ 1, δ ∼ 0, 01
⇒
∆
∼ 0, 1.
1.5.8
Метод Рунге.
Как видно из конечно-разностных соотношений для аппроксимаций про-
изводных, порядок их точности возрастает с увеличением числа узлов,
используемых при аппроксимации. Однако при большом числе узлов эти
соотношения становятся весьма громоздкими, что приводит к существен-
ному возрастанию объёма вычислений. Усложняется также оценка точ-
ности получаемых результатов. Вместе с тем существует простой и эф-
фективный способ уточнения решения при фиксированном числе узлов,
используемых в аппроксимирующих конечно-разностных соотношениях.
Это метод Рунге.
Пусть
F (x) — производная, которая подлежит аппроксимации; f (x, h) —
конечно-разностная аппроксимация этой производной на равномерной сет-
ке с шагом
h; R — погрешность (остаточный член) аппроксимации, глав-
ный член которой можно записать в виде
h
p
ϕ(x), т. е.
R = h
p
ϕ(x) + O(h
p+1
).
(Для левой разности, например,
R = O(h) = h
1
· ϕ(x) + O(h
2
). Вспомним,
что при
h
→ 0 справедливо O(h) + O(h
2
) = O(h).)
Тогда выражение для аппроксимации производной в общем случае мож-
но представить в виде
F (x) = f (x, h) + h
p
ϕ(x) + O(h
p+1
).
(5.5)
(Для левой разности, например,
F (x) =
f
i
−f
i
−1
h
+ h
1
· ϕ(x) + O(h
2
).)
Запишем это соотношение в той же точке
x при другом шаге h
1
= kh.
Получим
F (x) = f (x, kh) + (kh)
p
ϕ(x) + O((kh)
p+1
).
(5.6)
Приравнивая правые части равенств (5.5) и (5.6), находим выражение для
главного члена погрешности аппроксимации производной:
h
p
ϕ(x) =
f (x, h)
− f(x, kh)
k
p
− 1
+ O(h
p+1
).