Дьяченко В.Ф. Основные понятия вычислительной математики (1185904), страница 12
Текст из файла (страница 12)
(193) Величина б» характеризует точность вычислений. Мы видим, что эволюция ошибок округления полностью определяется коэффициентами Ь». В частности, если ) Ь» () 1, то имеет место экспоненпиальное нарастание ЬА» и быстрая потеря точности. Оценим величину Ь». Поскольку Ьд = О, то (193) дает Ь» = — <1. 1+ 2г Пусть 0 «Ь» «1. Тогда, как нетрудно установить из формулы (193), справедлива оценка 0<Ею, « — 1, (196) т.
е. все д.» не превосходят г/(1 (- г). Пользуясь формулой (195) рекуррентно, найдем (Ьд л~» ~бл д~+ ( +г) !Ыл-д~« ~~6„,(+ (,— ',)'(Ь„,~ + ( "-,)1Ы,,~« ~шах! 6»! г д+ (1 г ) 165»!, (г)д 1+г ЬМ»„= Ь»ддЬМ» + Ь», Ьи»-д = Ь»би» + 6», где в Ь', Ь' включены ошибки Ьи", Ьа, Ьр. Опираясь на неравенство (196), получаем, что при вычислении М и и накопления ошибок округления также не происходит.
Мы доказали, что при решении системы линейных уравнений (191) методом прогонки точность результата с о вп а д а е т с точностью расчета и исходных данных. Подобное утверждение справедливо не для всякого метода. Приведем пример. Переписав каждое из уравнений системы (191) в виде 1+ 2. и»„д — — — и» д+ — и„— — й, г г (197) можем, имея пару и»,, и», вычислить и»„д. Чтобы начать этот процесс, нам нужны значения и, и и,. Первое иа них зо откуда сраау следует, что ошибка Ьд порядка Ь.
Формулы (194) и (192) исследуются аналогично. Вариация их дает мы знаем, ио = а. Зададим второе произвольно, например, из = О, и вычислим с помо>цью (197) остальные ик. Обозначим полученное решение и(»>. Очевидно, оно практиче- (1> скн всегда не будет удовлетворять правому граничному условию ил = р. Построимтаким же способом второе ре шение икР>, положив и('> = 1. Рассмотрим линейную комбинацию этих решений ик = си» + (1 — с)ик (1> и> (198) й — и. (з> и(з> — и)(з> (199) При этом значении с формула (198) дает решение задачи.
На первый взгляд, описанный метод даже удобнее, чем метод прогонки. Однако он никуда не годится. Действительно, рассмотрим следующий частный случай, когда решение можно выписать явно. Положим й» = 0 и будем искать решение в виде ик = сопзь д". Подставляя это выражение в (197), получим квадратное уравнение для определения д: д' — (г+ — „') о+1 =О. Корни его при любом т ) 0 действительны и, что существенно, один из них больше единицы, д,(1, д,) 1. Любое решение задачи есть линейная комбинация (7»» и д„н нетрудно показать, что в данном случае упоминак емые выше и(»" и и(»з> имеют вид к ( адд,— адд дз д! ( > (адз — (>д, +(( — ад,> д дг — д> а решение (198), соответственно, к и (з> дз дз и» = ик' — с дз — ш (200) >/з 4 в.
Ф. дьяченко которая, очевидно, удовлетворяет левому граничному ус! ловию и уравнениям. Определим с так, чтобы удовлетворить правому граничному условию ик = р. Получим Посмотрим, к чему могут привести ошибки округления при реализации процесса (197) — (199). Даже если идеализировать ситуацию и допустить, что мы округляем лишь величину с (199), а все остальные вычисления имеем возможность провести абсолютно точно, то все равно в решении из появится ошибка зэ эг и з биэ Ьс —, зэ з1 как это следует нэ (200). Поскольку д, )) 1 при больших э Й, то малейшая неточность при вычислении с приведет к колоссальной ошибке в решении. Величина й порядка 1/Ь.
Следовательно, для достижения в решении заданной точности мы должны вести вычисления в оэ раз точнее 1/Ь Например, при дз = 2и й 100 мы получаем величину оэ 2мм 10зз. Очевтшно, такой запас десятичных знаков обеспечить невозможно. И теоретически безупречный метод должен быть забракован. Мы продемонстрировали метод прогонки на примере системы (191), соответствующей уравнению теплопроводности для конечного интервала (О, Х) с условиями У (~,0) = а (1), У (Г, Х) = р (1) на краях.
Чтобы представить себе возможные пути распространения этого метода на более сложные задачи, остановимся на следующих моментах, в которых выражается сущность его. Любое краевое условие можно интерпретировать как эффективное выражение влияния процессов, происходящих во внешней, отброшенной части пространства. С этой точки зрения сами дифференциальные уравнения задачи описывают распространение этого влияния внутрь области.
Разностная задача аппроксимирует дифференциальную. В частности, к ней применимы и соображения о роли краевых условий и уравнений. Метод прогонки явно выражает этот процесс переноса влияния краевых условий внутри области, правда, только в случае, если раэностные уравнения линейны. Общая схема метода прогонки для любой линейной задачи такая же, как и в рассмотренном случае уравнения теплопроводности. Разностная реализация граничных условий на одном из концов расчетного интервала (например, на левом) дает соотношения между значениями сеточной функции (или вектор-функции) в граничной и 88 и« = с(ч й=1,2... К вЂ” 1 ч ч ч (201) и который и используем для итерационного процесса. Подставляя в правую часть т-е приближение и«", получим () в левой части и~""').
Исследуем сходимость итераций. Пусть и„= и„+ б», (ч) (ч) где и, — точное решение системы (20Ц. Нетрудно полу- чить формулы б(ч«п = О, о б»' = — „(б«- +б» ) ( +1) «(ч) (ч) 1+ 2« 1=1,2,...,К вЂ” 1, определяющие поведение ошибки в зависимости от номера итерации. Непосредственная оценка ~ б|«'"~) дает -~б~"и ~,— '",„~Ю 4« 83 приграничной точках. Используя разностные уравнения, производим последовательное исключение неизвестных, «прогоняем» соотношение между соседними значениями сеточной функции череа всю область расчета, вплоть до ее правого конца.
Последние соотношения вместе с граничными условиями, имеющимися здесь, поаволяют найти значение функции в последней точке. Двигаясь теперь в обратном направлении, с помощью полученных ранее соотношений находим последовательно все аначення искомой сеточной функции. Конечно, зто всего лишь схема метода, и конкретная форма его может существенно меняться от задачи к задаче, в соответствии со спецификой краевых условий и уравнений. Для решения систем разностных уравнений можно применять и другие методы, в частности, и т е р а ц и о ни ы е. Обратимся к системе уравнений (19Ц, перепишем ее в виде Следовательно, итерации сходятся, бам сходимости определяется величиной -«-О, в скорость т (из г+ из д)+зад з .
1+2 (202) Оценивая ~ и~а~~ ), получим шах) из" )(шах~и,", ), а в т. е. разностная схема (202) устойчива (при любом г, хотя схема явная!). Вспомним про аппроксимацию. Подставляя в (202) рвало жения Остановимся на вопросе о числе итераций Допустим, что мы продолжаем процесс до совпадения двух последовательных итераций, и)."+и = и~"', т. е. получаем максимально точное решение системы (201).
Однако в такой точности необходимости нет, поскольку сама система (201) является лишь приближением исходной дифференциальной задачи. При использовании метода прогонки зта точность получается «задаром», здесь же — за счет дополнительных итераций, дополнительной вычислительной работы, которая, таким образом, может оказаться лишней, С другой стороны, сходимость численного метода (следующая иа аппроксимации и устойчивости) доказана нами в предположении, что разностная задача решается точно.
Нетрудно показать, что учет ошибок округления не меняет дела (устойчивость их гасит). Влияние же ошибок, возникающих из-за недоитерированности, требует особого рассмотрения. Утрируя ситуацию, допустим, что мы ограничиваемся одной итерацией, беря в качестве начального приближения иа = иа. Это означает, что фактически для вычисле(н я ния и7" мы пользуемся формулами [см. (201)) получаем »(> + О (ьл> и,-,-о()- Следовательно, раэностное соотношение (202) аппроксимирует уравнение теплопроводноств лишь при г ->- О.
Если же г конечно, то используя (202), мы будем решать не то уравнение. Мох(но показать (см. задачу 4), что аналогичная ситуация будет и после т-й итерации, т. е. ошибка аппроксимации является функцией от г и т, стремящейся к нулю лишь при г -~ 0 или т -и оо. Итак, недоитерирова п ность может приводить к отсутствию аппроксимации. Возможен и другой случай. Пусть, например, для решения системы (191) вместо (201) применяется какой-либо другой итерационный процесс вида ( >1 (и) (ч, (и) п ив ' = (Р(ив 1, ив ', ив+„ив), при котором условие аппроксимации соблюдается. Очевидно, на этот раз опасность может заключаться в нарушении условий устойчивости. Чтобы оценить необходимое число итераций, будем рассущдать так.
При первой итерации для определения ив мы учитываем, кроме ию (1> и только и»" 1 = и», и и»+1 — — и»11. При второй, исполь- И (О) 11 (О) зуя и», и ив 1, учитываем, тем самым, и» вЂ” — и»» и (1) (1) и ' (0) и»+1 = и»'„л и т. д. Каждая итерация расширяет область и (»> зависимости на одну расчетную точку в ту и другую стороны.