Практическое применение численных методов решения краевых задач для дифференциальных уравнений

Оглавление

Введение ………………………………………………………………………….2

Глава 1. Численные методы решения краевых задач для обыкновенных дифференциальных уравнений

1.1. Постановка задачи и основные положения………….……….…….5

1.2. Метод прогонки……………………………………………………...12

1.3. Конечно-разностный метод (метод сеток)………………..………..15

1.4. Метод стрельбы……………………………………..….…………….24

Глава 2. Практическое применение численных методов решения краевых  задач для дифференциальных уравнений.

2.1. Метод стрельбы…………………………………………………….....29

2.2 . Конечно-разностный метод (метод сеток)………………………….33

2.3. Сравнение результатов  вычислений………………………………....37

Заключение……………………………………………………………………….43

Список литературы………………………………………………………………44

 

Введение

Актуальность  темы дипломного исследования:

При исследовании многих прикладных и теоретических задач современного естествознания и при инженерных расчетах часто требуется отыскивать решение дифференциальных уравнений, удовлетворяющее заданным краевым условиям.

Современная вычислительная техника и накопленный вычислительный опыт позволяют приближенно рассчитывать решения больших и сложных  задач для дифференциальных уравнений. Особую важность при численных расчетах имеет гарантированная точность вычисленного решения. Она зависит  от точности используемой ЭВМ и влияния  на решение неизбежных ошибок входных  данных и ошибок округления.

Существуют мощные пакеты, позволяющие решать как аналитически, так и численно многие задачи для  обыкновенных дифференциальных уравнений (ОДУ). Уверенному использованию таких  пакетов помогают знания вычислительных методов решения ОДУ и их особенностей. Встречаются также задачи, для  которых требуется модифицировать старые или создавать новые методы и алгоритмы. [12]

Методы решения краевых  задач подразделяются на точные аналитические, приближённые и численные.

Аналитические методы изучаются  в курсе дифференциальных уравнений и применимы лишь для решения узкого класса уравнений, например, для линейных дифференциальных уравнений второго порядка с постоянными коэффициентами и др.

Приближённые методы возникли до появления ЭВМ и не утратили до  сих пор своего значения. Это— методы коллокаций, наименьших квадратов, метод Галёркина, вариационные и проекционные методы. Приближенные методы состоят из аналитических методов решения ОДУ. Так метод коллокаций, а также схожий с ним метод Галеркина, подразумевают введение операторов для уравнения и краевых условий и выбор базисных функций, удовлетворяющих условию, дальнейшее решение производится по формулам, связывающим базисные функции с искомой функцией. Суть вариационных методов заключается в приведении краевой задачи к аналогичной вариационной задаче и ее последующем решении.

Численные методы решения  дифференциальных уравнений подразделяются на две группы:

1) методы сведения решения краевой задачи к последовательности решений задач Коши (методы стрельбы);

2) конечно-разностные методы (метод сеток);

В данной работе я рассматриваю только численные методы решения краевой задачи для обыкновенных дифференциальных уравнений.

Метод конечных разностей является мощным аппаратом вычислительной математики, с помощью которого решаются разнообразные задачи из различных областей науки. Метод конечных разностей называется также методом сеток. Следует, отметить, что даже корректно поставленная задача может быть неустойчивой при численном решении, т.е. малые ошибки при вводе данных и неизбежные ошибки округления могут привести к большой погрешности результата.

Цель данной дипломной работы рассмотрение основных численных методов решения краевых задач для обыкновенных дифференциальных уравнений и их практическое применение.

Исходя из цели, в дипломной работе поставлены и решены следующие задачи:

    • Рассмотреть постановку краевой задачи и ее основные положения;
    • Изучить теоретические основы решения краевых задач для ОДУ методом сеток и методом стрельбы;
    • Рассмотреть практическое применение этих методов.

Объектом исследования являются краевые задачи для обыкновенных дифференциальных уравнений.

Предметом исследования считаются численные методы решения краевых задач для обыкновенных дифференциальных уравнений.

Методы  исследования: анализ и систематизация научной литературы. 
Практическая значимость исследования заключается в том, что материалы дипломной работы могут быть использованы студентами во время учебной деятельности, и для написания курсовых работ, а также при подготовке к занятиям по численным методам.

Численное решение прикладных задач всегда интересовало математиков. Анализ сложных математических моделей, при помощи которых исследовались  физические процессы, требовал создания численных методов их решения. Методы Ньютона, Эйлера, Чебышева, Гаусса и  другие свидетельствуют о том, что  эти и другие  известные математики занимались разработкой численных методов. В начале XIX века широко развиваются численные методы решений дифференциальных уравнений, такой как метод сеток. Конечно-разностные методы решения уравнений были предложены еще в 1928 году в знаменитой статье Куранта, Фридрихса и Леви, но на практике эти методы стали применяться лишь 15 лет спустя.

Появление компьютерной техники инициировало ученых создать область математики, которая призвана разрабатывать математические методы доведения до числового результата решений разнообразных прикладных задач и пути использования для этой цели  средств автоматизации вычислений. Эта область математики получила название вычислительной математики. Существенный вклад в развитие вычислительной математики внесли Н.С. Бахвалов, А.О. Гельфонд, Б.Г. Галеркин, С.К. Годунов, А.А. Дородницын, Л.В. Канторович, Л. Коллатц, А.Н. Крылов,  Р. Курант, К. Ланцош, Г. Леви, Г.И. Марчук, Р.Д. Рихтмайер, А.А. Самарский, Дж. Скарборо, А.Н. Тихонов, К. Фридрихс и другие ученые.

Одними из первых авторов учебных пособий по численным методам в России являются А.А. Марков, А.Н. Крылов, Я.С. Безикович и А.А. Фридман.

С развитием современных информационных технологий в настоящее время численные методы находят широкое применение в физике, химии, баллистике, биологии, экономике и др., для которых разработаны эффективные численные методы нахождения приближенных решений, которые представляют собой конструктивные вычислительные алгоритмы вычислений с эффективными оценками точности.

Работа состоит из двух глав, заключения и списка литературы.

В введении обоснована актуальность, поставлена цель и определены задачи работы. В первой главе рассматриваются теоретические основы численных методов решения краевых задач для ОДУ, во второй главе показано применение этих методов к решению задач. В заключении делаются основные выводы работы .

 

Глава 1. Численные методы решения краевых задач для обыкновенных дифференциальных уравнений.

    1. Постановка задачи и основные положения

Краевая задача - часто встречающаяся  в математической физике задача, в которой из класса функций, определенных в данной области, требуется найти функцию, удовлетворяющую на границе (крае) этой области заданным условиям.

Рассмотрим двухточечные краевые задачи, часто встречающиеся  в  приложениях, например, при решении  задач вариационного исчисления, оптимального управления, механики жидкости и газа и др. Пусть дано обыкновенное  дифференциальное уравнение.

                    (1)

и краевые условия

 

(2) 

где ; ; - функции указанных аргументов, заданные в некоторой области их изменения; L и (n - L) — число условий на левом и правом концах отрезка [а,b] соответственно. Общее количество условий равно порядку дифференциального уравнения.

Требуется найти функцию у = у(х), которая на отрезке [а,b] удовлетворяет уравнению (1), а на концах отрезка — краевым условиям (2).

Если уравнения (1),(2) линейны относительно искомой функции и ее производных, то краевая задача называется линейной.

Для простоты ограничимся  частным случаем линейной краевой  задачи для дифференциального уравнения второго порядка (n = 2), которая наиболее часто ставится в вычислительной практике и записывается в виде

                  (3)

                                                (4)

где , q(x), f(x) [a,b] - заданные функции, a , - заданные числа,

Запись f(x) [G] (f(x) принадлежит классу [G]) означает, что на некотором интервале , который включает в себя [a,b], существует раз непрерывно дифференцируемая функция, такая что на Тогда значения производных от на концах [a,b] будут соответствовать производным функциям в этих точках.

Требуется найти функцию  , удовлетворяющую уравнению (3) и краевым условиям (4).

Краевые условия при , задают линейную связь между значениями искомого решения и его производной на концах отрезка [а,b].

В простейшем случае, когда , , краевые условия задают на  концах отрезка [a,b] только значения функции . Такие функциональные  условия называют краевыми условиями первого рода. В этом случае краевая задача называется первой краевой задачей.

В случае, когда ,  т.е. на концах отрезка заданы только значения производных, краевые условия являются дифференциальными. Такие краевые условия называют условиями второго рода или «мягкими». Последнее название обусловлено тем, что они определяют на концах отрезка [a,b] всего лишь  наклоны интегральных кривых, а не значения функции ). В этом случае задача (3),(4) называется второй краевой задачей.

В общем случае, когда  и (или) ; и (или) не равны нулю,  краевые условия носят функционально-дифференциальный характер и называются условиями третьего рода. Тогда задача (3),(4) называется третьей краевой задачей.

Например, условия

 

являются условиями первого  рода. Геометрически это означает, что при решении первой краевой  задачи требуется найти интегральную кривую уравнения (1.3), проходящую через  данные точки  (рис. 1,a).

Условия 

 

являются условиями второго  рода. Геометрически вторая краевая задача сводится к отысканию интегральной кривой уравнения, пересекающей прямые под заданными углами , где tg = A, tg = В (рис. 1,б).

Условия 

являются частным случаем  краевых условий третьего рода, так  как = 0, =1,=1,=0. Геометрически данная краевая задача сводится к отысканию интегральной кривой уравнения, проходящей через точку и пересекающей прямую под данным углом , где tg = A (рис. 1,в).

Рис.  1

В общем случае краевая  задача может:

а) иметь единственное решение;

б) не иметь решений;

в) иметь несколько или  бесконечно много решений.

Утверждение 1. (о существовании и единственности решения краевой задачи (3),( 4)) [6].

Для того чтобы существовало единственное решение краевой задачи (3),( 4), необходимо и достаточно, чтобы однородная краевая задача

,

 

 имела только тривиальное решение .

Пример 1. Найти аналитическое решение следующих краевых задач:

а) (третья краевая задача);

б) (первая краевая задача).

Решение.

Воспользуемся известной  методикой отыскания общих решений  дифференциальных уравнений [33]. Подставив  в них заданные краевые условия, получим аналитические решения данных краевых задач.

1. Найдем общее решение  однородного уравнения  одинакового для обеих рассматриваемых задач. Так как характеристическое уравнение имеет комплексные сопряженные корни , то общее решение будет .

2. Частные решения неоднородных уравнений находятся методом подбора. Подставляя в уравнение , а в уравнение , получаем . Поэтому в случае «а», в случае «б».

3. Найдем общее решение  неоднородного уравнения как  сумму общего решения однородного уравнения и частного решения неоднородного уравнения:

а) ;         б).

4. Определим значения  произвольных постоянных из краевых  условий третьего рода (случай  «а») и первого рода (случай  «б»):

а) найдем

Тогда

 

Отсюда  - решение краевой задачи «а»;

б) .

 Отсюда и решение краевой задачи «б». Таким образом, решение краевой задачи представляет собой такое частное решение, которое удовлетворяет краевым условиям. 

Рассмотренный метод нахождения аналитического решения краевых  задач применим для ограниченного  класса задач. Поэтому в вычислительной практике используются численные и приближенно-аналитические методы, позволяющие найти приближенное решение краевых задач, точные аналитические решения которых не могут быть найдены.

 

    1. Метод прогонки

Метод применим в случае, когда матрица А — трехдиагональная. Общая постановка задачи имеет следующий вид.

Дана система линейных алгебраических уравнений с трехдиагональной матрицей А. Развернутая запись этой системы имеет вид

,                 (5)

которому соответствует расширенная матрица

 

Здесь первое и последнее  уравнения, содержащие по два слагаемых, могут рассматриваться как краевые  условия. Знак «-» при коэффициенте взят для более удобного представления расчетных формул метода.

Требуется найти решение системы (5) методом исключения Гаусса.

Если к (5) применить алгоритм прямого хода метода Гаусса, то вместо получится :

.

Учитывая, что последний  столбец в этой матрице соответствует  правой части, и переходя к системе, включающей неизвестные, получаем рекуррентную формулу:

                                         (6)

Соотношение (6) есть формула для обратного хода, а формулы для коэффициентов которые называются прогоночными, определяются из (5), (6). Запишем (6) для индекса :

 

и подставим в (6). Получим

 

Приводя эту формулу к  виду (6) и сравнивая полученное выражение с (6), получаем рекуррентные соотношения для :

                      (7)

Определение прогоночных коэффициентов по формулам (7) соответствует прямому ходу метода прогонки.

Обратный ход метода прогонки начинается с вычисления . Для этого используется последнее уравнение, коэффициенты которого определены в прямом ходе, и последнее уравнение исходной системы:

 

 

Тогда определяется :

т.е. (8)

Остальные значения неизвестных  находятся рекуррентно по формуле (6). Все соотношения для выполнения вычислений получены. Тогда можно провести расчеты по методу Гаусса, используя прямой и обратный ход.

Методика решения  задачи

Прямой ход.

  1. Вычислить (в (7) подставить ).
  2. Вычислить прогоночные коэффициенты по формулам (7).  

Обратный ход.

1. Найти 

2. Значения определить по формуле (6) :

 

Замечания.

1. Данный метод называется  методом скалярной прогонки, так  как при решении задачи на  каждом i-м шаге определяется скалярная величина

2. Алгоритм метода прогонки  называется корректным, если для  всех , и устойчивым, если .

3. Достаточным условием  корректности и устойчивости  прогонки является условие преобладания  диагональных элементов в матрице А, в которой и ):

                                                        (9)

и в (9) имеет место строгое неравенство хотя бы при одном i.

 

1.3. Конечно- разностный метод (метод сеток)

Идея метода заключается  в сведении краевой задачи к решению  системы алгебраических уравнений  путем замены производных в дифференциальном уравнении и краевых условий  конечно-разностными соотношениями.

Рассмотрим линейную краевую  задачу с краевыми условиями первого  рода (первую краевую задачу):

(10)

 

, [a,b] — заданные функции; — заданные числа.  Любой отрезок [a,b] на котором ищется решение краевой задачи, можно привести к отрезку [0;1] с помощью линейного преобразования . Действительно, тогда новая переменная . В результате без ограничения общности краевая задача (10) может быть решена сначала на отрезке [0;1], а затем это решение с помощью преобразования может быть записано на отрезке [a,b]. То же относится и к исследованию свойств полученного решения.

Утверждение 2 (о единственности решения краевой задачи (10)) [6].

Если функции  принадлежат классу [a,b] , на [0;1], то краевая задача (10) имеет единственное решение ].

Для решения задачи (10) применим метод сеток, получаемый путем аппроксимации первой и второй производных.

Введем равномерную сетку

 

где n — число отрезков разбиения.

Функции заменяются их проекциями на сетку , т.е. . Вместо точного решения отыскивается некоторое приближение .

Первая и вторая производные  аппроксимируются на трехточечном шаблоне по формулам второго порядка:

 

Краевые условия для этой задачи аппроксимируются точно, т.е. и заменяются на и . После замены от дифференциальной задачи (10) переходим к разностной схеме:

 

 

представляющей собой  систему алгебраических уравнений  трехдиагонального вида:

                              (11)

 

где

Здесь система (11) записана для внутренних узлов сетки . Она является трехдиагональной системой линейных алгебраических уравнений и решается методом прогонки. ( см. пункт 1.2)

 

Замечания.

1. Изложенный метод сеток  допускает обобщение. Например, его  можно применять для решения  нелинейной краевой задачи:

(12)

где — нелинейная по функция (в общем случае, который здесь не  рассматривается, функция F зависит также и от ).

Рассуждая аналогично рассмотренному выше способу, перейдем к  разностной задаче:

                  (13)

 

В силу нелинейности правой части полученная алгебраическая система  является нелинейной и для ее решения  нельзя использовать метод прогонки в том виде, в каком он изложен  для линейной задачи. Поэтому для  ее решения используем метод простых  итераций, с помощью которого при фиксированном — номер итерации) система алгебраических уравнений (13) превращается в линейную, так как величины, входящие в правую часть системы, известны из предыдущей итерации. Действительно, для k-й итерации получается система

 

 

которая решается на каждой итерации методом прогонки.

При выполнении условия итерации сходятся с линейной скоростью. [14]

2. Краевые условия второго  и третьего рода в задаче, аналогичной (10), могут быть аппроксимированы несколькими способами.

Первый способ. Использование  аппроксимационных формул первого порядка

                                         (14)

В силу первого порядка  этих аппроксимаций метод сеток  в этом случае также будет иметь  первый порядок аппроксимации.

Второй способ. Применение формулы Тейлора и ее преобразование с использованием дифференциального уравнения. Таким способом может быть достигнут второй порядок аппроксимации.

Третий способ. Применение левосторонней и правосторонней формул, аппроксимирующих производные со вторым порядком:

              (15)

3. Порядок аппроксимации  схемы определяется минимальным  порядком аппроксимации дифференциального  уравнения и краевых условий. 

Алгоритм применения метода сеток

  1. Задать сетку на отрезке [а,b] или сформировать ее из условий достижения требуемой точности.
  2. Используя аппроксимационные формулы

 

и один из трех способов аппроксимации  краевых условий (в случае, если они  второго или третьего рода), перейти  от исходной дифференциальной задачи к системе алгебраических уравнений  (разностной схеме), неизвестными в которой являются  величины, «близкие» к решению краевой задачи в узлах сетки.

  1. Найти решение разностной задачи путем решения трехдиагональной системы уравнений и таким образом определить приближенное решение краевой задачи.

Пример 2. Найти приближенное решение краевой задачи

 

 

при используя первый способ аппроксимации краевых условий. Записать разностные схемы для второго и третьего способов при произвольном .

Решение.

В поставленной задаче , , . Для решения задачи воспользуемся методикой.

  1. Так как, то сетка имеет вид

. Тогда Будем искать приближенные значения . Проекции функций на сетку имеют вид .

2. Составим разностную  схему. Согласно (1.6), для внутренних узлов сетки получаем

 

Применим первый способ аппроксимации  краевых условий с учетом условия на левом конце имеем

 

На правом конце  , и по второй из формул (14)

.

Тогда краевое условие  аппроксимируется выражением

 

В результате получаем разностную схему первого порядка аппроксимации (трехдиагональную систему линейных алгебраических уравнений)

 

 

 

Сравнивая первое уравнение  этой системы с рекуррентным соотношением метода прогонки (cм. пункт 1.2) характеризующим обратный ход, получаем .

После этого вычисляются  все последующие прогоночные коэффициенты по формулам:. Здесь соответствуют коэффициентам левой части полученной алгебраической системы, а — правой части.

Далее выполняется обратный ход:

Результаты решения краевой  задачи приведены в табл. 1.1, в которой последний столбец соответствует точному решению , найденному в примере 1.1.

i

             

y(x)

0

0

-1,0000

-1

0,00000

1,00000

0

1,8648

2,0000

1

1

1,72584

1

0,27415

1,37771

-0,37771

1,8648

1,8666

2

1

1,72584

1

0,27415

2,87240

2,87240

1,6277

1,5000

3

1

0,47640

-

1,04200

-

1,,21853

1,21853

1,0000


Таблица 1.1

В силу того, что краевые  условия аппроксимированы с первым порядком относительно h, в данном случае получена разностная схема первого порядка, так как порядок аппроксимации схемы определяется минимальным порядком аппроксимации дифференциального уравнения и краевых условий.

Воспользуемся вторым способом аппроксимации краевых условий  для  построения разностной схемы  второго порядка аппроксимации. Разложим в точке относительно точки по формуле Тейлора:

.

Выразим из этого соотношения  и подставим в него вместо выражение определяемое исходным  дифференциальным уравнением:

 

Как показывает это соотношение, дифференциальное условие на левой  границе аппроксимируется на двухточечном шаблоне , со вторым порядком аппроксимации двухточечным алгебраическим уравнением:

 

Аналогично получается двухточечное алгебраическое уравнение при . Разложение у(х) в точке относительно точки по формуле Тейлора имеет вид

.

Выражая отсюда с учетом связи   следующей из исходного дифференциального уравнения, получаем

 

Подставим это выражение  в граничное условие:

 

Таким образом, система линейных алгебраических уравнений в  окончательном  виде записывается следующим образом:

 

 

 

Эта трехдиагональная система, отличающаяся от полученной первым  способом только первым и последним уравнениями, решается численно методом прогонки.

Применим третий способ аппроксимации  краевых условий для построения разностной схемы второго порядка. Так, для крайней левой точки  используется левосторонняя формула :

 

Тогда получается трехточечное алгебраическое уравнение:

 

Алпроксимация производной в крайней правой точке по правосторонней формуле приводит к трехточечному алгебраическому уравнению:

 

Тогда в этом случае получается следующая система линейных алгебраических уравнений:

 

 

 

Здесь в первом уравнении и в последнем нарушают ее трехдиагональный характер. В этом случае система приводится к трехдиагональному виду путем исключения и из первых двух и последних двух уравнений системы и после этого решается методом прогонки.

 

 

1.4. Метод стрельбы

Метод стрельбы - это численный  метод, заключающийся в сведении решения краевой задачи к многократному решению задачи Коши. Принцип построения метода стрельбы рассмотрим на примере нелинейной краевой задачи:

(16)

                                               (17)

где — нелинейная функция, обусловливающая нелинейность дифференциального уравнения (16).

При введении новой переменой z = у' уравнение (16) записывается в нормальной форме Коши, а краевые условия видоизменяются:

(18)

где - параметр, равный тангенсу угла наклона интегральной кривой в точке х = а. Угол (параметр ) в процессе многократного решения краевой задачи должен принять такое значение, чтобы интегральная кривая «попала в цель», т.е. в точку (b, B) (рис.2,a). В общем случае полученное при некотором значении решение у(х;) не будет удовлетворять условию у(b;)=B  на правом конце отрезка.

Практическое применение численных методов решения краевых задач для дифференциальных уравнений