МУ к лабораторным работам (1238837), страница 16
Текст из файла (страница 16)
В этомслучае можно попытаться построить y0 ( x), y1( x ), y 2 ( x) с помощью решения одной краевой задачи для неоднородного уравнения и двух краевых задач для однородного уравнения. Краевые условия для этих задач могут быть, например, следующими:y0 (0) 0,y0 (1) 0 — для неоднородного уравнения;y1 (0) 1,y1 (1) 0;y 2 (0) 0,y 2 (1) 1 — для однородного уравнения.Эти задачи могут быть решены методом прогонки. Условияустойчивости метода прогонки при p( x ) 0, как легко проверить, выполнены. Этот подход может оказаться полезным, есликраевые условия таковы, что для исходной задачи (8.2) методпрогонки применен быть не может.Отметим, что с учетом специфики краевых условий исходной задачи можно строить общее решение видаy ( x) y0 ( x ) C y1 ( x),где y0 ( x ) — некоторое решение неоднородного уравнения, аy1 ( x) — некоторое решение однородного уравнения.8.5.
Конечно-разностный метод (прогонки)При нахождении решения линейной краевой задачи:y p( x ) y f ( x ),y (0) Y0 ,0 x 1,y (1) Y1.для p( x ) 1 методом построения общего решения, если ононаходится с помощью решения задач Коши, могут возникнутьтрудности, связанные с вычислительной неустойчивостью задачи Коши.Для решения поставленной задачи можно воспользоватьсяразностной схемой:111y m 1 2 y m y m1h20 m M, p( x m ) y m f ( x m ),Mh 1,y 0 Y0 ,y M Y1и решить разностную задачу методом прогонки.
Условия применимости метода прогонки при p( x ) 0, как легко проверить,выполнены. Подробнее о методе прогонки см. в [1–4, 17, 31]. В[17] рассмотрены различные варианты метода прогонки.8.6. Нелинейная краевая задачаКраевая задачаy f ( x, y, y ),0 x 1,(8.3)y (1) Y1.y (0) Y0 ,является нелинейной краевой задачей, если функция f ( x, y, y )нелинейна хотя бы по одному из аргументов y или y.В настоящей работе реализованы два способа решения нелинейных краевых задач: метод стрельбы и метод линеаризации (метод Ньютона), который сводит решение нелинейнойкраевой задачи к решению серии линейных краевых задач.8.7.
Метод стрельбыМетод стрельбы для решения краевой задачи (8.3) базируетсяна том, что имеются удобные способы численного решения задачи Коши, т. е. задачи следующего видаy f ( x, y, y ), 0 x 1,(8.4)y (0) Y0 ,y (0) tg ,гдеY0—ординататочки(0, Y0 ), из которой выходит ин0.01121.0Рис. 8тегральная кривая; — угол на-клона интегральной кривой к оси x при выходе из точки (0, Y0 )(рис.
8). При фиксированном Y0 решение задачи (8.4) имеет видy y ( x, ). При x 1 решение y ( x, ) зависит только от :y ( x, ) x 1 y (1, ).Используя указанное замечание о решении задачи Коши(8.4), можно задачу (8.3) переформулировать следующим образом: найти такой угол * , при котором интегральная кривая, выходящая из точки (0, Y0 ) под углом к оси абсцисс, попадет в точку (1, Y1 ) :y (1, ) Y1.(8.5)Решение задачи (8.4) при этом * совпадает с искомымрешением задачи (8.3). Таким образом, дело сводится к решениюуравнения (8.5) (рис. 9). Уравнение(8.5) — это уравнение видаF ( ) 0,где F ( ) y (1, ) Y1.Оно отличается от привычныхуравнений лишь тем, что функцияF ( ) задана не аналитическим выражением, а с помощью алгоритмачисленного решения задачи (8.4).Для решения уравнения (8.5)можно использовать любой метод,Рис.
9пригодный для уточнения корнейнелинейного уравнения, например, метод деления отрезка пополам, метод Ньютона (касательных) и др. Метод Ньютоназдесь предпочтительнее (если имеется достаточно хорошее начальное приближение) из-за высокой стоимости вычисленияодного значения функции F() (нужно решить задачу Коши(8.4) с данным ).Метод стрельбы, сводящий решение краевой задачи (8.3) квычислению решений задачи Коши (8.4), хорошо работает в томслучае, если решение y ( x, ) «не слишком сильно» зависит от. В противном случае он становится вычислительно неустой113чивым, даже если решение задачи (8.3) зависит от входных данных «умеренно».При решении уравнений F ( ) 0, методом деления отрезкапополам, мы задаем 0 и 1 так, чтобы разности y (1, 0 ) Y1 иy (1, 1 ) Y1 имели разные знаки.
Затем полагаем2 0 12.Вычисляем y (1, 2 ). Затем вычисляем 3 по одной из формул:3 1 20 22или2в зависимости от того, имеют ли разности y (1, 2 ) Y1 иy (1, 1 ) Y1 соответственно разные или одинаковые знаки. Затем вычисляем y (1, 3 ). Процесс продолжаем до тех пор, покане будет достигнута требуемая точностьy (1, n ) Y1 < .В случае использования для решения уравнения F ( ) 0метода Ньютона задаем 0 , а затем последующие n вычисляем по рекуррентной формуле n1 n F ( n )F ( n )n = 0, 1, …,Производная F ( n ) может быть вычислена по одной изформул численного дифференцирования, например, первого порядка аппроксимации:F ( n ) F ( n h ) F ( n )h.8.8.
Вычислительная неустойчивость задачи КошиПоясним причину возникновения вычислительной неустойчивости на примере следующей линейной краевой задачи:y p 2 y 0,1140 x 1,(8.6)y (0) Y0 ,y (1) Y1 .при постоянном p 2 . Выпишем решение этой задачи:y ( x) e px e p ( 2 x )1 e 2 pY0 e p (1 x ) e p (1 x )1 e 2 pY1 .Коэффициенты при Y0 и Y1 с ростом р остаются ограниченными на отрезке 0 x 1 функциями; при всех p 0 они не превосходят единицу. Поэтому небольшие ошибки при задании Y0и Y1 ведут к столь же небольшим погрешностям в решении, т. е.краевая задача является «хорошей».Рассмотрим теперь задачу Коши:y p 2 y 0,y (0) Y0 ,0 x 1,y (0) tg .(8.7)Ее решение имеет вид:y ( x) pY0 tg 2pe px pY0 tg pxe.2pЕсли при задании tg допущена погрешность , то значениерешения при x 1 получит приращение y (1) 2pep 2pep.(8.8)При больших р вычитаемое в равенстве (8.8) пренебрежимо мало, но коэффициент в первом слагаемом e p / 2 p становится большим.
Поэтому метод стрельбы при решении задачи (8.6),будучи формально приемлемой процедурой, при больших р становится практически непригодным. Подробнее о возникновениинеустойчивостей см. [1, 2].8.9. Метод линеаризации (метод Ньютона)Метод Ньютона сводит решение нелинейной краевой задачи крешению серии линейных краевых задач и состоит в следующем.Пусть для нелинейной краевой задачи (8.3) известна функция y0 ( x), удовлетворяющая граничным условиям и грубо при115ближенно равная искомому y (x). Положимy ( x) y 0 ( x) v ( x),(8.9)где v (x ) — поправка к нулевому приближению y0 ( x ). Подставим (8.9) в уравнение (8.8) и линеаризуем задачу, используя следующие равенства:y ( x ) y 0 ( x) v ( x),f ( x, y0 v , y0 v ) f ( x, y0 , y0 ) f ( x , y 0 , y0 ) f ( x , y 0 , y0 )vv O(v 2 | v | 2 ).y yОтбрасывая остаточный член O(v 2 | v |2 ), получим линейнуюкраевую задачу для нахождения поправки v~ ( x) :v~ p( x) v~ g ( x ) v~ r ( x ),v~ (0) 0,(8.10)v~ (1) 0,гдеp ( x) f ( x, y0 , y0 ), yq( x) f ( x, y0 , y0 )y,r ( x ) f ( x, y0 , y0 ) y0 .Решая линейную краевую задачу (8.10) каким-либо численнымметодом найдем поправку v~ и примем за первое приближениеy ( x) y ( x) v~.10Аналогично, зная приближение y1( x ), положим y ( x) y1( x ) v~1и найдем следующее приближение.
Продолжая процесс до техпор, пока не будут выполнены неравенстваmax | v~ ( x) | ,x [0, 1],где — требуемая точность, найдем приближенное решение исходной нелинейной задачи.1168.10. Порядок выполнения работы1. Начните выполнение работы с темы «Линейная краевая задача». Выбрав с помощью меню один из методов решения линейной краевой задачи, перейдите к пункту меню «Параметры».
Наберите следующую краевую задачу:y py p,0 x 1,y (0) 1,y (1) 1.для p const 0. Решением этой задачи является функцияy 1. Установите значение шага сетки h = 0,05.1.1. Найдите решение этой задачи методом построения общегорешения и методом прогонки для разных р, начиная с умеренных значений и увеличивая их до величины порядка 1200.Сравните получаемые решения с точным и объясните наблюдаемые эффекты.
Попытайтесь найти решение этой же задачиметодом стрельбы. Проанализируйте, как влияет при разных рточность задания недостающего начального условия на левомконце интервала на успешное решение задачи методом стрельбы.1.2. Объясните полученные результаты. Замените левое краевоеусловие (положите, например, y (0) 0 ) и посмотрите, как изменится характер решения.1.3. Выполните п.