Введение в вычислительную физику - Федоренко Р.П.
ISBN 5-7417-0002-0
Скачать (прямая ссылка):
51
Если вычислены две величины S2x и Sx, мы имеем два следующих соотношения:
S = S2x + С(2х)р + о(хР), S = S1 +CxP + о(хР).
Из них можно найти S с точностью до о(хр), исключив главный
член погрешности. Умножая второе уравнение на 2Р и вычитая из него первое, получаем
5 = (2pSx-S2x)/(2p-l) + о(хР).
В табл. 6 представлены результаты: значения Sx, вычисленные по формуле Симпсона, и значения 5, полученные экстраполяцией Ричардсона по значениям S0 5 и S0 5, S0 25. Для всех величин при-
ведена погрешность (абсолютная).
Выше было указано, что погрешность формулы Симпсона не пре- , восходит о(т3), поэтому экстраполяция проводилась сначала при P = 3. Результат оказался обескураживающим: экстраполяция не только не повысила точности, но и дала заметно худший результат. В чем же дело? Причина кроется в очень важном обстоятельстве, которое никогда не следует забывать, применяя подобную экстраполяцию. Обычно порядок погрешности р устанавливается на основе теоретиче-
Таблица 6
Шаг т St Погрешность S(P=S) Ii Погрешность
1. 6.42072776 0.032
0.5 6.39121012 0.0022 6.38699 6.389242 I о CS
0.25 6.3891937 0.00014 6.388905 6.3890593 3-Ю-6
ских оценок, которые, как правило, дают завышенное значение. Завышение оценки может влиять как на коэффициент при тр, так и на саму степень. Фактически точность может быть более высокой. Te же соображения могут быть использованы в условиях, когда не только коэффициент С в оценке погрешности, HO и степень р не известны. Разумеется, теперь надо иметь три приближенных значения, чтобы исключить член CxP с двумя неизвестными. Формулы выводятся просто:
Sx = S+ CxP + о(хР),
S2x = S + 2PCxP + о(хР),
S4x = S + 2P2PCxP + o(xP).
52
ОСНОВЫ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ
[Ч.І
Пренебрегая членами о(хр), имеем
(S4x-S2x)IiS2x-Sx)^ V.
Используя числа табл. 6, получаем 2Р « 14.64 = 23 87. Поскольку порядок точности формул обычно является целым числом, положим P= 4, относя разницу на счет величин 0(хр). Если теперь проделать экстраполяцию при р = 4, получим числа, представленные в той же табл. 6. Эффект уточнения явно виден и не нуждается в комментариях. Однако читатель должен усвоить и другой урок: применение этой экстраполяции требует определенной осторожности, особенно в сложных задачах, в которых нет полной ясности с главным членом асимптотики погрешности.
Что касается формулы Симпсона, то более аккуратный анализ показывает, что оиа на самом деле имеет четвертый порядок точности. Это дополнительное повышение ее точности — следствие симметричности формулы. Симметричность часто и в других случаях приводит к повышению точности. Например, формула численного дифференцирования (односторонняя, несимметричная) и формула центральной разности (симметричная) имеют первый и второй порядки точности соответственно, хотя они одинаковы по трудоемкости (каждая «стоит» двух вычислений функции).
Несколько слов о чувствительности формулы Симпсона по отношению к возможной неточности априорного предположения о функции /.
Пусть на самом деле функция fit) лишь кусочно-гладкая, для простоты, имеет один разрыв на [a, b], а в остальном гладкая. Нетрудно понять, что если разрыв попал на четный узел сетки, точность формулы сохраняется. При произвольном положении разрыва испортится только значение интеграла по той паре шагов сетки, в которую попал разрыв. Этот интеграл и вычисленный по Симпсону не имеют между собой ничего общего кроме того, что оба суть О(т). Следовательно, точность вычисления интеграла станет О(т)
вместо ожидаемой 0(х4).
Вычисление интегралов с особенностями. Рассмотрим простой пример — приближенное вычисление интеграла
і
о
Подынтегральная функция обращается в бесконечность при г= О, но интеграл существует. Попытка его прямого вычисления по формуле Симпсона сразу же приведет к неудаче: первое слагаемое /0
ВЫЧИСЛЕНИЕ ОПРЕДЕЛЕННЫХ ИНТЕГРАЛОВ'
53
обращается в бесконечность. Грамотный студент легко находит выход: надо вычислить интеграл
і
при достаточно малом є он приближает нужное значение. И даже оценка связанной с этим погрешности легко вычисляется: это величина
\±dt = 2Vl.
О
Некоторые даже догадаются взять в качестве приближенного решения сумму
2v/r + S sWdt’
є
где интеграл по [є, 1 ] вычисляется, например, по формуле Симпсона.
В вычислительной математике многие проблемы допускают решения на уровне студенческой грамотности. Нередко на основе подобных соображений работы пишутся людьми далеко не студенческого возраста, знающими о проблемах этой науки с чужих слов и не «чувствующих» такого важнейшего фактора, как число операций (речь идет, конечно, о более сложных задачах). И здесь приведенный выше, вполне правильный ответ не устраивает профессиональных вычислителей именно в силу нерационально большого объема вычислений.
Аккуратное вычисление интеграла с особенностью может быть выполнено гораздо более экономными средствами. Это достигается с помощью приема регуляризации, или выделения особенности. Поясним его в более общей ситуации. Пусть требуется вычислить