Введение в вычислительную физику - Федоренко Р.П.
ISBN 5-7417-0002-0
Скачать (прямая ссылка):
/мО) = /(*)(! + еО»>
Г(Х+к)-Г(х) _ f(x+h)-f(x) , , Е1 ё2 h ~ h h '
Разложим в ряд Тейлора:
f{x + A) = / + h fx + f fxx + Oih3).
Итак,
26
ОСНОВЫ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ
[Ч. I
нии уравнений методом Ньютона, нет нужды в особенно высокой точности численного дифференцирования и не требуется очень точно определять hQ. В частности, автор иногда использовал простой способ проверки того, является ли данное h подходящим для численного дифференцирования. Этот способ основан на подсчете числа «сокращающихся знаков». Поясним его на примере численного дифференцирования функции ех в точке X= 1. Пусть ех вычисляется с
Таблица 3
h QA 0.01 0.001 0.0001 0.00001
el + h 3.004166 2.745601 2.721001 2.718554 2.718309
el 2.718282 2.718282 2.718282 2.718282 2.718282
0.285884 0.027319 0.002719 0.000272 0.000027
2.85884 2.7319 2.719 2.72 2.7
к I 2 3 4 5
семью верными знаками. Вычислим ее разностную производную с шагом А, равным 0.1, 0.01, 0.001, 0.0001. В табл. 3 пояснения требует только последняя строка: к — это число сократившихся главных знаков.
Таким образом, наилучший результат получается при сокращении половины знаков. В общем случае число «сократившихся знаков» при численном дифференцировании можно оценивать величиной
& I /(х +h) I + і /(де) I ’
Заметим, что в этом простом примере мы сталкиваемся с одной из самых грозных опасностей в приближенных вычислениях: если результат получается при вычитании двух очень близких друг к другу величин, происходит резкая потеря точности, относительная погрешность результата сильно возрастает. Это явление носит название «сокращение знаков» и доставляет массу неприятностей.
Оценим погрешность формулы центральных разностей:
df fM(x+h) — fM(x — h) _ f(x + h) — f(x—h) , є dx ~ 2h ~ 2h + U (Л ' J •
Разлагая в ряд Тейлора f(x + h) и f(x — h), получаем
rs*+'>l-CLx-/>l = fx(x) +1 f"> + 0(h3) + о /j.
§ 2] ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ 27
Главный член погрешности аппроксимации имеет второй по h порядок, а оптимальный шаг
А0»(|Зе//2/'"|)‘»
Таким образом, формула центральной разности точнее формулы односторонней разности, но требует большего шага h (при одинаковых шагах сокращается больше знаков). Например,
ei.ooi _ g0.999 = 2.721001 - 2.715565 = 0.005436, (ех)х « 2.718
(т.е. получается та же точность, что и в формуле односторонней разности). При h = 0.01 имеем
ei-oi - е°" = 2.745601 - 2.691234 = 0.054367, (ех)х « 2.71835.
В дальнейшем нам часто придется использовать формулу приближенного вычисления второй производной
d2f ^ f(x+h) — 2f(x) +/(*—А) dx2 ~ A2
Оценим точность этой формулы. Очевидно, погрешность округления есть (4е/Л2)/. Вычислим погрешность аппроксимации, используя разложение в ряд Тейлора f(x + h) и f(x — h). После простых вычислений найдем полную погрешность численного дифференцирования:
/IV _i_ i? I /1 12 т д2 |У 1 ’
и оптимальный шаг:
Л0«(|48е///1У|)1/4.
Вообще, из всех полученных выше формул для A0 видно, что «наилучший шаг» тот, при котором погрешности аппроксимации и округления совпадают (близки). Вычисление второй производной методом численного дифференцирования требует еще большего шага.
Нетрудно построить разностные формулы вычисления производных третьего и четвертого порядков:
d3f ^ /(х+А) — 3/(х) + 3/(х —А) —/(х —2А) dx3 ~ h3
dAf ^ /(s + 2A)-4/U+A)+6/(x)-4/U-A) + /Qc + 2A) dx4 ~ A4
Пользоваться ими нужно, конечно, с большой осторожностью по причинам, понятным из приведенного выше обсуждения.
28
ОСНОВЫ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ
[Ч.І
§ 3. Интерполяция функций
Приведем некоторые начальные сведения из теории интерполяции. Этот классический аппарат вычислительной математики в последние годы стал развиваться и использоваться в несколько ином направлении (по сравнению с его назначением в трудах классиков). Мы постараемся дать представление и об этих новых аспектах аппарата интерполяции.
Естествознание и, особенно, математическая физика обычно имеют дело с задачами, сформулированными в терминах функций: нужно найти некоторую функцию /(?), удовлетворяющую тем или иным условиям, уравнениям. Произвольная («измеримая») функция полностью определяется «континуумом» информации. К счастью, мы не имеем дела со столь общими объектами, нас интересуют более узкие классы функций.
Непрерывная функция определяется «счетной» информацией: достаточно знать ее лишь на счетном множестве точек, всюду плотном на том интервале (множестве), где она нас интересует. Однако при реализации расчетов на ЭВМ мы располагаем конечным множеством чисел, причем и числа-то имеют конечное число знаков. Таким образом, мы располагаем лишь конечной информацией о функции и, следовательно, наши знания о решении какой-то задачи принципиально не полны. Естественно возникает вопрос о способах представления функции на ЭВМ, о потере информации, о возможно более рациональных способах представления специальных классов функций.
Ограничимся одним способом представления функций — сеточным или, иначе, табличным. Это связано с той особой ролью, которую играет сеточный метод в рассматриваемых нами методах приближенного решения задач математической физики. Начнем с классической задачи интерполяции. Пусть имеется некоторая функция /(г), заданная на интервале [О, Т].