
- •Численные методы
- •Оглавление
- •Лекции 5
- •Практические занятия 63
- •Глава 1
- •Лекция 1
- •Лекция 2
- •Условия сходимости.
- •Лекция 3
- •Лекция 4
- •Свойства:
- •Лекция 5
- •1.6 Лекция 6
- •Лекция 7
- •1.8Лекция 8
- •1.9 Лекция 9-10
- •Глава 2
- •Занятие 1
- •Занятие 2
- •Занятие 3
- •Занятие 4
- •Занятие 5
- •Занятие 6
- •Занятие 7
- •Глава 3
- •Лр 1.Распространение ошибок в вычислительных процеду-рах.
- •Лр 2.Методы дихотомии,Ньютона, простых итераций.
- •Контрольные вопросы
- •Лр 3. Интерполяция функций.Полиномы Лагранжа, Ньюто- на.
- •Контрольные вопросы
- •Лр 4.Дифференцирование функции,заданной таблично.
- •Реализация функциями matlab.
- •Контрольные вопросы
- •Лр 5. Интегрирование функций. Формулы трапеций, Симп-сона.
- •Контрольные вопросы
- •Лр 6.Решение систем линейных уравнений.
- •Реализация функциями matlab.
- •Лр 7.Метод Эйлера. Схемы Рунге-Кутта решения оду.
- •Глава 4
- •Список тем дляреферативно-расчётной работы
- •Определитель Вандермонда
- •Литература
Лекция 7
Метод Рунге
Квадратурные формулы имеют погрешность вида O(hp). Если удастся вы- делить главный член в погрешности, то можно с помощью метода Рун- ге получить формулу с большим порядком погрешности. Для примера рассмотрим формулу трапеций. Запишем частичную погрешность более подробно, чем раньше2
ψi =
xi
r
xi−1
f (x) dx−h
fi−1
+
fi
2
погр. мн. Лагр.
=
xi
r
xi−1
f 11(ξ(x))
(x−xi−1)(x−xi) dx =
2!
ф-ла сред. знач.
=
f 11(ζi) 2!
xi
r
xi−1
(x−xi−1)(x−xi) dx = −
f 11(ζi)h3
12
, где ζi ∈ [xi−1, xi].
Общая погрешность на интервале [a, b] будет
n 2
h
Ψ = , ψ =
i −
12
i=1
b
n
, f 11(ζi)h
i=1
при h 0
=
→
h2 r
ф-ла Н.-Л. h2 3
=
−12
a
f 11(x) dx + O(h)
= −12(f 1(b) − f 1(a)) + O(h )
Главный член погрешности получен. Обозначим
1 1
2 2
Sтр(h) = h
f0 + f1 + f2 + . . . + fn−1 + fn .
b
r
f (x) dx
Sтр(h)
+
ch2
+
O(h3)
2 3
a Sтр(h/2)
+
c(h/2)
+ O(h )
2Здесь потребуется известная из математического анализа
Теорема (формула среднего значения). Пусть функция f (x) непрерывна на [a, b],
функция g(x) интегрируема на [a, b] и g(x) � 0 (или g(x) � 0) на всём [a, b], тогда существует такое ξ ∈ [a, b], что
b b
r r
f (x)g(x) dx = f (ξ)
a a
g(x) dx.
где c = −f (b)−f (a)
t
t
Отсюда
12 . Выразим неизвестное слагаемое
ch2 = Sтр(h/2) − Sтр(h) + O(h3).
1
−
1/4
b
r 4 3
f (x) dx = Sтр(h) + 3[Sтр(h/2) − Sтр(h)] + O(h ) =
a
Заменим теперь Sтр
= 4Sтр(h/2) − Sтр(h)
3
+ O(h3).
b
r
f (x) dx =
1 г h 1
4
1
f0
+
f1/2
+
f1
+
.
.
.
+
fn−1/2
+ fn +
3 2 2
a
1
2
1 l3
+h 2f0 + f1 + f2 + . . . + fn−1 +
h
2fn
+ O(h ) =
3
= 6 [f0 + fn + 2(f1 + f2 + . . . + fn−1) + 4(f1/2 + f3/2 + . . . + fn−1/2)] + O(h ).
В итоге получили больший порядок погрешности ошибки, а сама квадра- турная формула совпадает с формулой Симпсона.
Оценка погрешности
Пусть требуется получить приближённое значение интеграла с точностью ε. Возникает вопрос, какой следует выбрать шаг h. Можно попробовать вы- числить оценку погрешности для используемой формулы. В этом случае придётся иметь дело с производными. Например, вычисляя по форму- ле Симпсона, потребуется оценить f IV(x). В общем случае это сделать непросто. На практике часто используют более удобный метод Рунге.
Пусть S(h) обозначает квадратурную формулу (например, трапеций или Симпсона) с шагом h, которая используется в наших расчётах на компью- тере. Справедливо представление
b
r
I = f (x) dx = S(h) + O(hp) = S(h) + chp + O(hp+1),
a
где
p
—
порядок
погрешности
формулы
S(h),
а
c
—
константа.
Проведём
последовательно
расчёт
на
компьютере
с
шагом
h,
а
затем
h/2.
Тогда
ин-
теграл можно
приближённо,
без учёта
O(hp+1)
выразить
двумя
способами
b
r
f
(x)
dx
a
Sтр(h) + chp Sтр(h/2) + c(h/2)p
Наша цель — это проверка условия |I − S(h/2)| � ε. Имеем
|I − S(h/2)| ≈ |c(h/2)p| ≈ |S(h)
− S(h/2)|
2p − 1
� ε.
Приведём таблицу для рассмотренных ранее квадратурных формул.
ф. прямоугольников |
ф. трапеций |
ф. Симпсона |
|I − S(h/2)| ≈ |S(h)−S(h/2)| 3 � ε |
|I − S(h/2)| ≈ |S(h)−S(h/2)| � ε 15 |
Проверка погрешности сводится к проверке неравенства для расчётов с шагами h и h/2. Если неравенство не выполняется, уменьшаем шаг ещё в два раза и подставляем S(h/2) и S(h/4) и т.д.
Метод можно использовать для выбора шага в зависимости от скорости роста функции f (x) (скорость роста определяется величиной f 1(x)). Когда
скорость роста не велика, можно использовать широкий шаг (рис. 1.9). На участках резкого изменения функции шаг лучше выбрать частый. В данном подходе в отличии от всюду одинакового шага можно сэкономить на количестве использованных узлов.
f ′ ≈ 0
Рис.
1.9:
а)
постоянный
шаг
на
всём
о
симости от скорости роста функции (от величины f 1(x))
в зави-
На практике мы разбиваем весь отрезок [a, b] на p больших частей (p — несколько единиц)
[a, b] = [a = c0, c1] ∪ [c1, c2] ∪ . . . ∪ [cp−1, cp = b].
Если задана погрешность для ответа ε, то на каждой части [ci−1, ci], i = 1, 2, . . . , p зада- дим погрешность ε/p. Далее с каждым отрезком [ci−1, ci] работаем отдельно, выбирая свой шаг по методу Рунге.
Формулы Ньютона–Котеса
Приблизим функцию многочленом n-ой степени f (x) ≈ Pn(x). Тогда ин- теграл от f (x) можно приблизить интегралом от многочлена
b
r
f (x) dx ≈
a
b
r
Pn(x) dx.
a
Возникающая при этом погрешность равна
b
r
Ψ = [f (x) − Pn(x)] dx
a
погр. мн. Лагр.
=
b
r f (n+1)(ξ(x))
ωn+1(x)
dx.
(n + 1)!
a
Оценивая сверху, получим
b
|Ψ| �
Mn+1 r
(n + 1)!
a
ωn+1(x) dx, где Mn+1 = max f
[a,b]
| | |
(n+1)
(x)|.
Рассмотрим подробнее интеграл от многочлена
b r г n
b
r
n (x) l
n b
r
L(k)(x) n
Pn(x) dx =
, fk
(k)
L(k)
dx = , fk
(k)
dx = , fkck,
a a k=0
Ln (xk)
k=0
Ln (x )
a
k=0
где ci = Гb L(k)(x) dx/L(k)(x
k
). Видно, что коэффициенты c
являются кон-
a n n k i
стантами, значения, которых не зависят от интегрируемой функции, но определяются только узлами x0 = a, x1, x2, . . . , xn = b. Следовательно, для заданных интервала [a, b] и шага h можно один раз рассчитать ci, i = 0, 1, . . . , n и использовать дальше для численного вычисления любых
функций по формуле
b n
r
f (x) dx ≈ , fkck. (1.25)
a k=0
Последняя формула в случае постоянного шага h = xk − xk−1 = const
носит название формулы Ньютона-Ко´теса3.
3Ро´джер Ко´тес (Roger Cotes) — английский математик (1682–1716).
Исследуем теперь возможность поставить в (1.25)знак = вместо ≈.
Пусть f (x) = a0 + a1x + . . . + amxm, am /= 0 — многочлен степени m. При-
близим f (x) многочленом Лагранжа Pn(x) степени n. Ясно, что f (x) =
Pn(x), если m � n и, следовательно, Гb f (x) dx = Гb Pn(x) dx = ),n
fkck.
a a k=0
Оказывается, в случае чётного n формула (1.25) будет точна (равенство будет не приближённым, а точным) даже для m = n + 1.
Лемма. Если n — чётное, то для коэффициентов формулы Ньютона– Котеса справедливо ck = cn−k, где k = 0, 1, . . . , n/2.
Доказательство.
Теорема. Если n — чётное и Pn+1(x) — многочлен степени n + 1, то справедливо равенство
b n
r
Pn+1(x) dx = , fkck.
a k=0
В заключении отметим, что формулы Ньютона–Котеса порядка � 10 или n = 8 не применяют из-за того, что коэффициенты ck, k = 0, 1, . . . n имеют разный знак (это важно для устойчивости, см. далее). При вычис- лении интегралов на длинных интервалах [a, b], сам интервал [a, b] де- лится на несколько частей (частичных отрезков). На каждом частичном отрезке строится формула Ньютона–Котеса невысокой степени. В итоге на всём отрезке [a, b] получается составная формула Ньютона–Котеса. Примеры составных формул уже встречались при рассмотрении методов прямоугольников, трапеций и Симпсона.
n |
Формула Ньютона–Котеса (несоставные) |
2 |
h 3 (f0 + 4f1 + f2) |
3 |
3h 8 (f0 + 3f1 + 3f2 + f3) |
4 |
2h 45 (7f0 + 32f1 + 12f2 + 32f3 + 7f4) |
5 |
5h 288 (19f0 + 75f1 + 50f2 + 50f3 + 75f4 + 19f5) |
6 |
h 140 (41f0 + 216f1 + 27f2 + 272f3 + 27f4 + 216f5 + 41f6) |