Годунов С.К., Рябенький В.С. Разностные схемы (введение в теорию) (1185928), страница 25
Текст из файла (страница 25)
2 ) л /х 2 хл 1 /4ье а А 1 А' ! = — ~ — — — ) 6н — — — 6 -~ = 6 + — (Г6а. Ах !Ь 2 2 ) н Лх 2 л- = и Следовательно, формула (!2) превращается в (8), Аналогично при а = 2 и а = 3 иа (!2) получаютса формулы (9) и (!0) соответственно. Для вычисления по схеме (7) достаточно знать ив = а. Для того чтобы начать вычисления по схеме (8), надо заранее знать, кроме ио = а, также еще и и!. Схема (9) требует использования пв, ш и им а схема (10) — четырех значений: ив, иг, ие и иа. Эти значения могут быть найдены по схеме Рунге — Кутта; с помощью схемы Эйлера с мелким шагом; с помощью разложения решения в окрестности точки х = 0 в степенной ряд.
Пестандартное начало счета является одним из недостатков схем Адамса по сравнению со схемами Рунге — Кутта. Отмечавшимся ранее достоинством схем Адамса является то, что для вычисления ив+! нужно, в дополнение к уже вычисленным в процессе отыскания и„, и ь ... значениям Ох. ЧОН ..., ЧАЕ(х, вычислить только одно значение функций 6„= ь((хв, ив) и произвести некоторое число вычитаний для вычисления (усгв, ... ~гв 6 Итак, преимущества методов Адамса перед методами Рунге — Кутта заключаются в меньшей трудоемкости вычислений на один шаг. Основные недостатки — нестандартное начало счета, невозможность (без усложнения формул) в процессе счета изменить, начиная с какой-то точки х, шаг й, хне! = х„+ "ь с которым ведутся вычисления.
Последнее обстоятельство существенно в тех случаях, когда решение и его производные на некоторых участках меняются быстро, а иа других изменяются медленно. Схема Рунге — Кутта, если такого рода обстоятельства выясняются в процессе счета, может, например, по заданной подпрограмме автоматически уменьшить шаг или увеличить шаг на гладких участках, чтобы не производить лишней работы.
По-видимому, наиболее рационально использование обоих методов — Рунге — Кутта и Адамса — с автоматическим переходом с одного из них на другой в процессе счета. При этом начинать счет надо по схеме Рунге — Кутта. В программе должен быть предусмотрен автоматический выбор шага, при котором расчет ведется с нужной точностью. При этом программа выбора шага должна предусматривать некоторый «консерватизм при выборе шага: диктовать изменение шага только в случае, СХЕМЫ РУССГЕ КУПА И АДАМСА сез г с»! если требуется «довольно сильно» его изменить. Если оказывается, что при вычислении нескольких последовательных значений и„ по схеме Рунге в Кутта не происходит изменения шага, целесообразен автоматический переход на счет по более экономной схеме Адамса.
Как только вновь появляется необходимость изменить шаг, программа расчета должна переходить на вычисления по схеме Рунге — Кутта и т.д. Для контроля правильности выбора шага обычно параллельно ведут вычисления с некоторым заданным и вдвое меньшим шагом. В пределах требуемой точности решения должны совпадать. В противном случае надо вести вычисления с более мелким шагом. Нужно также предусмотреть пробу на возможность увеличить шаг. 3. Замечания об устойчивости, Для задачи и' + Аи = О, линейной и с постоянным коэффициентом А, схемы Рунге — Кутта после исключения йс, !сг, ... окажутся схемами первого порядка, и„+, — а(Ь)и„=О. Корень характеристического уравнения Л вЂ” а(й) = О равен Л = а(Й).
В случае и„ = и(х ) для сс„», получается задание, совпадаюшее с точным решением и(х„+ ь) с точностью до БР+с, где р — порядок аппроксимации. Поскольку лгьг и(х„+ Ь) =и(х„)е """ =и(х„) (1 — АЬ+ — — ...), и„+, — — а(й)и„, то Л = а()с) = '+ О(йР+"). Таким образом, ! Л(п) ! < 1 + сЬ. Степени Л" (6) ведут себя «правильно»: они растут, если А ( О и решение дифференциального уравнения растет.
Они убывают, если А ) О и решение е-А" убывает. В случае схемы Адамса (8) (13) характеристическое уравнение имеет вид ЗАА Х АА Л- — (1 — 2 ) Л вЂ” — =.О. 2 тпотеевггтельпые еззностныс схемы 164 ггл а Отсюда зла ~ 1 /( зла) Лг — 1 — Ай+ 0(Ь2), Л»=0(й), Таким образом, решение и„=Л", ведет себя при измельчении й» как и(х„) =е ", а «паразитическое» решение Л,", вызванное выбором разностного уравнения второго порядка, стремится к нулю, так как (Л,(= 0(й), и на устойчивость не влияет. Читателю полезно сравнить схему (13) со схемой второго порядка (2) пз $ 17: и+~ и» вЂ” ~ ! А ва и„= Для нее Л, =1 — А)г+ +0(йз) Л = — 1 — АЙ+0()г»).
«Паразитический» корень Лг при положительном А по модулю больше корня Ль что и приводило к большой постоянной в оценке устойчивости для этой схемы и к практической непригодности ее при больших А, установленной в $ 17. 4. Обобщение на системы уравнений. Все описанные схемы численного решения задачи Коши для дифференциального уравнения первого порядка (1) автоматически переносятся на системы уравнений первого порядка. Для этого в записи (1) — — 0(х, и) =О, гг» Их и(0) =а надо понимать под и(х)= й(х) и 0(х, и) = 0(х, й) вектор- функции и под а = а заданный вектор. Тогда схемы Рунге— Кутта (3), (4) и схемы Адамса (7) — (10) сохранят смысл и останутся применимыми.
Например, система уравнений †" — (х + и' + з!п иг) = О, а'ге — +хпиг =О, лх п(0) =оп в(0) =а, / употревителъныг«рлзностные схемы [гл. 6 приводится к требуемому виду, если положить и,(х) = в (х), иг(х) = —, «го и„(х) = вв (х). Получим «[и ~ — — иг «[х Их + х г+ «+ з) — '"' «-»г»«-еьзгьв и,(0) и,(0) из(0) =о,! 9 20. Методы решения краевых задач Примером краевой задачи является задача у" = [ (х, у, у'), 0 ( х ( (1, у(О) =У, у(1) =У, с граничными условиям па обоих концах отрезка 0 < х < 1, на котором надо найти решение у = у(х). На этом примере мы схематически изложим некоторые способы численного решения краевых задач. 1.
Метод стрельбы. В $ 19 указаны удобные способы численного решения задачи Коши, т. е. задачи вида у" =)(х, у„у'), 0(х(1, у(0)=ӄ— ~ =1яа, ду «[х»=е (2) где Уо — ордината точки (О, Уо), из которой выходит интегральная кривая, а а — угол наклона интегральной кривой к оси Ох при выходе из точки (О, Уо) (рис. 7, а). При фиксированном Уо решение задачи (2) имеет вид у = у(х, а). При х = 1 решение у(х, а) зависит только от а: у(х, а) [» [=у(1, а).
3 а м е ч а н и е. Разработаны разностные схемы типа схем Рунге — Кутта, применимые непосредственно для уравнения второго порядка и не требующие предварительного сведения этих уравнений к системам первого порядка. методы Решения кРАеВых ВАдАч % 001 1вт Используя указанное замечание о решении задачи Коши (2), мы можем теперь переформулировать задачу (1) следующим образом: найти такой угол и = 00*, при котором интегральная кривая, выходящая из точки (О, У0) под углом а к оси абсцисс, попадет в точку (1, У~): (3) р(1, а) =У,.
Решение задачи (2) при этом а = 00* совпадает с искомым решением задачи (!). Дело сводится, таким образом, к решению Ркс. 7. уравнения (3) (рис. 7,б). Уравнение (3) есть уравнение вида Р(00) = О, где г'(00) = у(1, а) — Уь Оно отличается от привычных уравнений лишь тем, что функция г" (и) задана не аналити ческим выражением, а с помощью алгоритма решения задачи (2).
Сведение решения краевой задачи (1) к решению задачи Коши (2) и составляет сущность метода стрельбы. Для решения уравнения (3) можно иачользовать метод деления отрезка пополам, метод хорд, метод касательных (метод Ньютона) и т. д. Например, при использовании метода деления отрезка пополам мы задаем а0 и Ви так, чтобы разности у(1, а0) — У~ и у(1, а,) — У, имели разные знаки. Затем полагаем а0+ а, аз = Вычисляем у(1, аз). Вычисляем затем аз по одной из формул а1 + а0 ао+а, аа= 2 или аз= 2 168 УПОТРЕБИТЕЛЬНЫЕ РАЗНОСТНЫЕ СХЕМЫ )гл.
е в зависимости от того, имеют ли разности у(1, ао) — У, и у(1, а)) — У) соответственно разные или одинаковые знаки. Затем вычисляем у(1, ае). Процесс продолжается до тех пор, пока не будет достигнута требуемая точность, !У(1, а ) — У) ) ( е. В случае использования метода хорд задаем ао и а), а затем последующие а; вычисляем по рекуррентной формуле я (а„) а„.„=а„— ~(а 1 ~(а 1(а„— а,-)), и =1, 2, ... Коэффициенты при Уо и У) с ростом а остаются ограниченными на отрезке 0 ( х ( 1 функциями; при всех а > 0 они не превосходят единицу.
Поэтому небольшие ошибки при задании Уо и У, ведут к столь же небольшим погрешностям в решении. Рассмотрим теперь задачу Коши у" — а'у =О, у(о) =У„ (2') О ( (х ( 1, у'(0) = !да. Ее решение имеет вид ауа + )я а ах ° ауа )Е а ах Если при задании !на допущена погрешность е, то значение решения при х = 1 получит приращение бу (1) еа е-а е е 2а 2а (4) При больших а вычитаемое в равенстве (4) пренебрежимо мало, но коэффициент при е в первом слагаемом еа!(2а) стано- Метод стрельбы, сводящий решение краевой задачи (1) к вычислению решений задачи Коши (2), хорошо работает в том случае, если решение у(х, а) «не слишком сильно» зависит от и.
В противном случае он становится вычислнтельно неустойчивым, даже если решение задачи 41) зависит от входных данных «умеренно». Поясним взятые в кавычки слова на примере следующей линейной краевой задачи: у" — а'у =О, 0(х(1, 1 У (0) = 1 о> У (1) = 1 ) (1') при постоянном ао. Выпишем решение этой задачи: -ах а-аа-х) а — а))-х) а — а))ьх) методы Решения келевых ЗАДАЧ 169 вится большим.