Приближенное решение дифференциальных уравнений метод эйлера. Приближенные методы решения дифференциальных уравнений. Как найти частное решение ДУ приближённо с помощью ряда

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

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

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

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

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

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

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

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

К первой группе относится прежде всего метод Фурье решения краевых задач для дифференциальных уравнений в частных производных, при применении которого точное решение получается в виде некоторого ряда, а за приближенное решение может быть принята сумма некоторого числа первых его членов. Метод Фурье решения классических задач математической физики подробно излагается в курсе математической физики, и мы на нем совсем не будем останавливаться. Из методов первой группы мы рассмотрим лишь вариационные методы решения краевых задач для уравнений в частных производных и близкий к ним метод Галеркина.

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

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

В последнем параграфе главы изложены методы приближенного решения линейных интегральных уравнений типа Фредгольма и Вольтерра.

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

Обыкновенными дифференциальными уравнениями называются такие уравнения, которые содержат одну или несколько производных от искомой функции y=y(x)

F(x,y,y 1 ,…,y (n)) = 0, где x-независимая переменная.

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

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

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

1)аналитические методы, дающие решение в виде аналитического выражения;

2)численные методы, дающие приближенное решение в виде таблицы.

Рассмотрим перечисленные методы в виде следующих примеров.

8.1 Метод последовательного дифференцирования.

Рассмотрим уравнение:

с начальными условиями , где – заданные числа.

Предположим, что искомое решение y=f(x) может быть решено в ряд Тейлора по степеням разности (x-x 0):

2 n +….

Начальные условия (8.2) дают нам значения y (k) (x 0) при k=0,1,2,...,(n-1). Значения y (n) (x 0) найдем из уравнения (8.1), подставляя (x-x 0) и используя начальные условия (8.2):

y (n) (x 0) = f(x 0 ,y 0 ,y " 0 ,...,y 0 (n-1))

Значения y (n+1) (x 0), y (n+2) (x 0)... последовательно определяются дифференцированием уравнение (8.1) и подстановкой x=x 0 , y (k) (x 0)=y 0k (k – 0,1,2).

ПРИМЕР: Найти первые семь членов разложения в степенной ряд решения y=y(x) уравнения y "" +0,1(y ") 2 +(1+0,1x)y=0 с начальными условиями y(0)=1; y " (0)=2.

РЕШЕНИЕ: Решение уравнения ищем в виде ряда:

y(x)=y(0)+y"(0)x/1!+y""(0)x 2 /2!+...+y (n) (0)x n /n!...

Из начальных условий имеем y(0)=1, y " (0)=2. Для определения y "" (0) разрешим данное уравнение относительно y"":

y""(0)= – 0,1(y ") 2 – (1+0,1x)y (8.3)

Используя начальные условия, получим

y""(0)= –0,1*4 – 1*1= –1,4

Дифференцируя по x левую и правую части уравнения (8.3)

y"""= – 0,2y"y"" – 0,1(xy"+y) – y",

y (4) = – 0,2(y"y"""+y"" 2) – 0,1(xy""+2y") – y"",

y (5) = – 0,2(y"y (4) +3y""y""") – 0,1(xy"""+3y"") – y""",

y (6) = – 0,2(y"y (5) +4y""y (4) +3y""" 2) – 0,1(xy (4) +4y""" – y (4))

Подставляя начальные условия и значение y""(0), находим y"""(0)= – 1,54;

y (4) (0)= – 1,224; y (5) (0)=0,1768; y (6) (0)= – 0,7308. Таким образом, искомое приближенное решение запишется в виде: y(x) ≈ 1 + 2x – 0,7x 2 – 0,2567x 3 + 0,051x 4 + 0,00147x 5 – 0,00101x 6 .

8.2 Метод эйлера

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

Выберем шаг h малым, чтобы для всех x между x 0 и x 1 =x 0 +h значение функции y мало отличалось от линейной функции. Тогда на указанном интервале y = y 0 + (x – x 0)y" = y 0 + (x –

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

∆y k = y" k h

y k+1 = y k + ∆y k

ПРИМЕР

Решим методом Эйлера уравнения y" = x – y с начальным условием х 0 =0, у 0 =0 на отрезке с шагом h=0,1.

Вычисления приведены в таблице.

Первая строка в столбцах 1 и 2 заполнена по начальным данным. Затем вычисляется у" по заданному уравнению (в столбце 4), затем ∆y = y"h – в столбце (4).

Столбец (5) содержит таблицу значений точного решения заданного уравнения.

Из таблицы видно что при х=1 относительная ошибка метода Эйлера составляет

δ=0,37 - 0,35/0,37*100%≈5,4%

УТОЧНЕННЫЙ МЕТОД ЭЙЛЕРА

При том же объеме вычислительной работы дает более высокую точность.

Ранее мы считали подынтегральную функцию постоянной, равной её значению f(x k ,y k) на левом конце участка. Более точное значение получится если полагать f(x,y(x)) равной значению в центре участка. Для этого надо брать двойной участок (x k-1 ,x k+1), заменив формулу

y k+1 =y k +∆y k на y k+1 =y k-1 +2hy" k (8.5)

Эта формула и выражает уточненный метод Эйлера. Но в этом случае надо придерживать следующей последовательности действий:

ПРИМЕР Для сравнения рассмотрим то же уравнение y" = x – y с начальными условиями x 0 =0, y 0 =0. Уточненный метод, как видно из таблицы дает более высокую точность относительная погрешность при х=1, у=0,370, а у точн 0,368.

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

Интегрирование дифференциальных уравнений с помощью степенных рядов.

Рассмотрим этот метод в общем случае для дифференциального уравнения n-го порядка

при начальных условиях:

Предположим, что правая часть уравнения (1) является аналитической функцией в начальной точке, т. е. в некоторой окрестности этой точки разлагается в степенной ряд вида:


где - целые неотрицательные числа и - некоторые постоянные коэффициенты.

Тогда интеграл уравнения (1), отвечающий начальным условиям (2), является аналитическим в точке и, пользуясь рядом Тейлора, можно положить

Первые n+1 коэффициентов ряда (3) определяются непосредственно из начальных условий (2) и дифференциального уравнения (1). Для нахождения следующего (n+2)-го коэффициента продифференцируем уравнение (1) по правилу дифференцирования сложной функции. В результате получим

где для удобства принято.

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

Пример: Написать несколько членов разложения в степенной ряд решения уравнения

удовлетворяющего начальным условиям; .

Решение: Полагаем

Из уравнения (4) получаем

Отсюда. Дифференцируя последовательно уравнение (5), будем иметь

Из этих равенств вытекает, что

Следовательно,

Написать общий член ряда не представляет больших затруднений.

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

Метод Пикара (последовательных приближений).

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

Пусть в условиях теоремы существования требуется найти решение уравнения с начальным условием. Проинтегрируем обе части уравнения от до:

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

Вместе с тем интегральное уравнение (1) позволяет применить метод последовательных приближений. Положим и получим из (1) первое приближение:

Интеграл в правой части содержит только переменную; после нахождения этого интеграла будет получено аналитическое выражения приближения как функции переменной. Заменим теперь в уравнении (1) у найденным значением и получим второе приближение:

и т.д. В общем случае итерационная формула имеет вид:

(n=1, 2,…). (2)

Циклическое применение этой формулы дает последовательность функций,…,….

Так как функция непрерывна в области, то она ограничена в некоторой области, содержащей точку, т.е. .

Применяя к уравнению (2) в условиях теоремы существования принцип сжимающих отображений, нетрудно показать, что последовательность (3) сходится (имеется в виду сходимость по метрике

в пространстве непрерывных функций, определенных на сегменте, таких, что). Ее предел является решением интегрального уравнения (2), а следовательно, и дифференциального уравнения с начальными условиями. Это означает, что k-й член последовательности (3) является приближением к точному решению уравнения с определенной степенью точности.

Оценка погрешности k-го приближения дается формулой:

где - константа Липшица, - верхняя грань модуля функции из неравенства (4), а величина для определения окрестности вычисляется по формуле

Геометрически последовательные приближения представляют собой кривые (n=1, 2, …), проходящие через общую точку.

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

Запишем для данного случая формулу вида (2):

Аналогично:

Оценим погрешность третьего приближения. Для определения области, заданной как

примем, например, . В прямоугольнике функция определена и непрерывна, причем:

По формуле (6) находим. Используя оценочную формулу (5), получаем: .

Метод Эйлера.

В основе метода ломаных Эйлера лежит идея графического построения решения дифференциального уравнения, однако этот метод дает одновременно и способ нахождения искомой функции в численной (табличной) форме.

Пусть дано уравнение с начальным условием. Выбрав достаточно малый шаг, построим, начиная с точки, систему равностоящих точек (i=0, 1, 2,…). Вместо искомой интегральной кривой на отрезке рассмотрим отрезок касательной к ней в точке (обозначим ее) с уравнением

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

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

что при дает

т.е. получается из добавлением приращения

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

K=0, 1, 2,….

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

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

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

удовлетворяющего начальному условию, выбрав шаг h=0,1.

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

Точное значение

  • 1,005
  • 1,0151
  • 1,0303
  • 1,0509
  • 1,0772
  • 1,1095
  • 1,1483
  • 1,1942
  • 1,2479
  • 0,1005
  • 0,1523
  • 0,2067
  • 0,2627
  • 0,3232
  • 0,3883
  • 0,4593
  • 0,5374
  • 0,005
  • 0,0101
  • 0,0152
  • 0,0206
  • 0,0263
  • 0,0323
  • 0,0388
  • 0,0459
  • 0,0537
  • 1,0025
  • 1,0100
  • 1,0227
  • 1,0408
  • 1,0645
  • 1,0942
  • 1,1303
  • 1,1735
  • 1,2244
  • 1,2840

Из приведенной таблицы видно, что абсолютная погрешность значения составляет. Отсюда относительная погрешность примерно равна 3%.

Модификации метода Эйлера (метод Эйлера - Коши).

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

Рассмотрим снова дифференциальное уравнение с начальным условием.

Выбрав шаг h, положим

(i=0, 1, 2,…).

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

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

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

а затем полагают

Другой модификацией метода Эйлера является усовершенствованный метод Эйлера - Коши, при котором сначала определяется "грубое приближение" решения

исходя из которого находится направление поля интегральных кривых

Затем приближенно полагают

Геометрически это означает, что мы определяем направление интегральной кривой в исходной точке (xi, yi) и во вспомогательной точке (xi+1, y*i+1), а в качестве окончательного берем среднее этих направлений.

Пример: Первым и вторым усовершенствованными методами Эйлера проинтегрировать уравнение

на отрезке .

Примем шаг h=0,2 и.

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

В таблице 2 приведены результаты вычислений интеграла усовершенствованным методом Эйлера - Коши, причем шаг сохранен прежний h=0,2.

Таблица 1

  • 1,1836
  • 1,3426
  • 1,4850
  • 1,6152
  • 1,7362
  • 0,0846
  • 0,0747
  • 0,0677
  • 0,0625
  • 1,2682
  • 1,4173
  • 1,5527
  • 1,6777
  • 0,1836
  • 0,1590
  • 0,1424
  • 0,1302
  • 0,1210

Для сравнения приводим точное решение, откуда …

Таблица 2

  • 1,1867
  • 1,3484
  • 1,4938
  • 1,6279
  • 1,7542
  • 0,0850
  • 0,0755
  • 0,0690
  • 0,0645
  • 1,3566
  • 1,4993
  • 1,618
  • 1,7569
  • 0,0867
  • 0,0767
  • 0,0699
  • 0,0651
  • 0,0618
  • 0,1867
  • 0,1617
  • 0,1454
  • 0,1341
  • 0,1263

Метод Эйлера и его модификации являются простейшими представителями конечно-разностных методов (шаговых методов) для приближенного решения обыкновенных дифференциальных уравнений вида (k=1, 2,…, n) при заданных начальных условиях (k=1, 2,…, n).

При применении конечно-разностного метода искомое решение yk=yk(x) (k=1, 2,…, n) последовательно строится на системе точек (узлов) xi=x0+ih (I=0, 1, 2,…), где h - выбранный шаг. Процесс вычислений расчленяется на однообразно повторяющиеся циклы, каждый из которых обеспечивает переход от значения yk(xi) к значению yk(xi+1), начиная с начального y(0)k. Поэтому схема вычислений, вообще говоря, легко программируется и удобна для реализации на ЭВМ.

Метод Рунге-Кутта

Метод Эйлера и метод Эйлера-Коши относятся к семейству методов Рунге-Кутта, имеющих следующий вид. Фиксируем некоторые числа:

последовательно вычисляем:

k2(h)=hf(x+2h,y+21k1(h)),

kq(h)=hf(x+qh,y+q1k1(h)+…+qq-1kq-1(h))

и полагаем:

Рассмотрим вопрос о выборе параметров i, pi, ij. Обозначим

(h)=y(x+h)-z(h).

Будем предполагать, что

(0)="(0)=…=(s)(0)=0

при любых функциях f(x,y), а (s+1)(0)0 для некоторой функции f(x,y). По формуле Тейлора справедливо равенство

где 01. Величина (h) называется погрешностью метода на шаге, а s - порядком погрешности метода.

При q=1 будем иметь:

  • (h)=y(x+h)-y(x)-p1hf(x,y),
  • (0)=0,

"(0)=(y"(x+h)-p1f(x,y))h=0=f(x,y)(1-p1),

”(h)=y”(x+h).

Ясно, что равенство "(0)=0 выполняется для любых функций f(x,y) лишь при условии, что р1=1. Легко видеть, что при этом значении р1 из формулы (1) получается формула

yk+1=yk+yk, k=0, 1, 2,…,

т.е. в этом случае мы получаем метод Эйлера. Для погрешности этого метода на шаге согласно (2) будем иметь:

Рассмотрим случай q=2, тогда

(h)=y(x+h)-y(x)-p1hf(x,y)-p2hf(x*,y*),

x*=x+2h, y*=y+21hf(x,y).

Согласно исходному дифференциальному уравнению

y=f, y”=fx+fyf, y"""=fxx+2fxyf+fyyf2+fyy”. (3)

(Здесь для краткости через y и f обозначены y(x) и f(x,y) соответственно.)

Вычисляя производные функции (h) и подставляя в выражения для (h), "(h) и ”(h) значение h=0, получим (с учетом соотношений (3)):

"(0)=(1-p1-p2)f,

”(0)=(1-2p22)fx+(1-2p221)fyf.

Хорошо видно, что требование

(0)="(0)=”(0)=0

будет выполняться для всех f(x,y) лишь в том случае, если одновременно будут справедливы следующие три равенства относительно четырех параметров:

  • 1-p1-p2=0,
  • 1-2p22=0, (4)
  • 1-2p221=0.

Произвольно задавая значение одного из параметров, и определяя значения остальных из системы (4), мы будем получать различные методы Рунге-Кутта с порядком погрешности s=2. Например, при р1= из (4) получаем: р2=, 2=1, 21=1. Для этих значений параметров формула (1) принимает вид:

(Здесь yi+1 записано вместо y(x+h), yi - вместо y(x), а через y*i+1 обозначено выражение yi+hf(xi,yi).) Таким образом, в рассматриваемом случае мы приходим к расчетным формулам

y*i+1=yi+hfi, f*i+1=f(xi+1, y*i+1,

соответствующим методу Эйлера-Коши. Из (2) следует, что при этом главная часть погрешности на шаге есть, т.е. пропорциональна третьей степени шага h.

В вычислительной практике наиболее часто используется метод Рунге-Кутта с q=4 и s=4.

Приведем без вывода один из вариантов соответствующих расчетных формул:

k2=hf(x+h/2, y+k1/2),

k3=hf(x+h/2, y+k2/2), (5)

k4=hf(x+h, y+k3),

y=z(h)-y(x)=(k1+2k2+2k3+k4).

Отметим, что в этом случае погрешность на шаге пропорциональна пятой степени шага (h5). Отсюда, в частности, следует, что при достаточно малом h и малых погрешностях вычислений решение уравнения y"=f(x,y), полученное методом Рунге-Кутта по формулам (5), будет близким к точному.

Эффективная оценка погрешности метода Рунге-Кутта затруднительна. Поэтому для определения правильности выбора шага h на практике обычно на каждом этапе из двух шагов применяют двойной пересчет. А именно, исходя из текущего верного значения y(xi), вычисляют величину y(xi+2h) двумя способами: один раз с шагом h, а другой раз с двойным шагом H=2h. Если расхождение полученных значений не превышает допустимой погрешности, то шаг h для данного этапа выбран правильно и полученное с его помощью значение можно принять за y(xi+2h). В противном случае шаг уменьшают в два раза.

Такого рода вычислительную схему легко запрограммировать для работы на ЭВМ.

Геометрический смысл использования метода Рунге-Кутта с расчетными формулами (5) состоит в следующем. Из точки (xi, yi) сдвигаются в направлении, определяемом углом 1, для которого tg1=f(xi,yi). На этом направлении выбирается точка с координатами (xi+, yi+). Затем из точки (xi, yi) сдвигаются в направлении, определяемом углом 2, для которого

tg2=f(xi+, yi+),

и на этом направлении выбирается точка с координатами (xi+, yi+). Наконец, из точки (xi, yi) сдвигаются в направлении, определяемом углом 3, для которого

и на этом направлении выбирается точка с координатами (xi+h, yi+k3). Этим задается еще одно направление, определяемое углом 4, для которого tg4=f(xi+h,yi+k3). Четыре полученные направления усредняются в соответствии с последней из формул (5). На этом окончательном направлении и выбирается очередная точка (xi+1, yi+1)= (xi+h, yi+y).

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

Таблица 1.

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

Пример: Методом Рунге-Кутта вычислить на отрезке интеграл дифференциального уравнения y"=x+y, y(0)=1, приняв шаг h=0,1.

Покажем начало процесса. Вычисление у1. Последовательно имеем:

k1=(0+1)0,1=0,1;

k2=0,05+(1+0,05)0,1=0,11;

k3=0,05+(1+0,055)0,1=0,1105;

k4=0,1+(1+0,1105)0,1=0,12105.

Отсюда у0=(0,1+20,11+20,1105+0,12105)=0,1103 и, следовательно,

дифференциальный уравнение пикар эйлер

у1=у0+у0=1+0,1103=1,1103.

Аналогично вычисляются дальнейшие приближения. Результаты вычислений приведены в таблице 2.

Таким образом, у(0,5)=1,7974.

Для сравнения приводим точное решение:

откуда у(0,5)=2е1/2-1,5=1,79744…

Таблица 2

  • 1,055
  • 1,1105
  • 0,1105
  • 0,1210
  • 0,1000
  • 0,2200
  • 0,2210
  • 0,1210
  • 1,1103
  • 1,1708
  • 1,1763
  • 1,2429
  • 0,1210
  • 0,1321
  • 0,1326
  • 0,1443
  • 0,1210
  • 0,2642
  • 0,2652
  • 0,1443
  • 1,2427
  • 1,3149
  • 1,3209
  • 1,3998
  • 0,1443
  • 0,1565
  • 0,1571
  • 0,1700
  • 0,1443
  • 0,3130
  • 0,3142
  • 0,1700
  • 1,3996
  • 1,4846
  • 1,4904
  • 1,5836
  • 0,1700
  • 0,1835
  • 0,1840
  • 0,1984
  • 0,1700
  • 0,3670
  • 0,3680
  • 0,1984
  • 1,5836
  • 1,6828
  • 1,6902
  • 1,7976
  • 0,1984
  • 0,2133
  • 0,2140
  • 0,2298
  • 0,1984
  • 0,4266
  • 0,4280
  • 0,2298

Рассмотрим задачу Коши (5.2), (5.6) для дифференциального уравнения первого порядка: найти решение уравнения y"=f(x,y), удовлетворяющее условию y(x 0)=y 0 . Пусть y(x)- решение поставленной задачи Коши. Подставив это решение в уравнение (5.2), получим тождество y"(x) ≡ f(x,y(x)). Интегрируя это тождество по x, получаем

или, что тоже самое,

. (5.15)

Таким образом, мы показали, что всякое решение задачи Коши (5.2), (5.6) есть решение интегрального уравнения (5.15). С другой стороны, если y(x)- решение интегрального уравнения (5.15), то дифференцируя (5.15) по x, получаем, что y(x)- решение задачи Коши (5.2), (5.6).

Решение интегрального уравнения (5.15) будем искать с помощью метода последовательных приближений. Положим

y 0 (x)=y 0 , . (5.16)

Если оператор

- (5.17)

сжимающий , то последовательные приближения (5.16) сходятся к решению интегрального уравнения (5.15), а, следовательно и дифференциального уравнения y" = f(x,y), удовлетворяющего условию y(x 0) = y 0 . Желающие могут познакомиться с доказательством сжимаемости оператора (5.17) в .

Пример №1 . Найдём с помощью метода последовательных приближений решение уравнения y" = y, удовлетворяющее условию y(0)=1. Подставляя y(0)=1 в (5.16), получаем

y 0 =1, …,

С другой стороны, решая исходную задачу Коши, имеем y = e x .

Таким образом, нами получено разложение функции e x в ряд Тейлора в нуле (ряд Маклорена).

Перейдём теперь к изложению численного метода Эйлера решения задачи Коши (5.2), (5.6). Разобьём отрезок , на котором мы ищем решение, на части точками x 0 = a то заменяя производную y"(x i) конечной разностью в уравнении (5.2), получаем , или, что то же самое,

y i +1 = y i + h·f(x i , y i), (5.17)

Соотношение (5.17) является расчётной формулой метода Эйлера численного решения задачи Коши (5.2), (5.6). Вычислив y i , i = 0,1,..,n получим таблицу значений решения в точках x i , i = 0,1,..,n Для оценки погрешности на одном шаге сетки в методе Эйлера разложим точное решение y(x) по формуле Тейлора в окрестности точки xi до членов второго порядка малости

y(x i +1)=y(x i +h)=y(x i)+y"(x i)h+o(h 2)=y i +hf(x i ,y i)+o(h 2).

Сравнивая с (5.17) видим, что погрешность формулы (5.17) равна o(h 2). К сожалению, метод Эйлера накапливает ошибку от шага к шагу. Поэтому на практике пользуются либо модификациями метода Эйлера, например методом прогноза и коррекции , либо другими методами, в частности методом Рунге-Кутта .

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

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

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

П р и м е р. Решить следующую задачу Коши: , .

Искать решение будем в виде ряда по степеням . В соответствии с начальными условиями . Подставим хотя бы первые слагаемые рядов в уравнение:

Перемножим входящие в правую часть сомножители:

А теперь сравним свободные члены (они равны) и коэффициенты при , при и при : . Отсюда .

Мы могли бы и далее сравнивать коэффициенты при степенях в уравнении и получать значения других коэффициентов . Тем более применение программ MAXIMA упрощает этот процесс. В данном случае мы получили решение в виде ряда, первые члены которого известны: .

Задачу Коши для системы уравнений можно решать подобным способом.

2. Метод Эйлера и его модификации . Познакомимся с методом Эйлера численного решения задачи Коши для дифференциального уравнения первого порядка . Предположим, что мы должны решить задачу на отрезке . Разделим отрезок на равных частей, равных . Заменим на каждом отрезке , , решение дифференциального уравнения линейной функцией . При этом имеем узловые значения решения:

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

.

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



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

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

load(dynamics); rk(y^2+x,y,0.3,);

После того, как мы нажмем клавиши Shift+Enter, получим данные

[,,,,,,,,,,,,,,,,,,,,].

Это означает, что мы получили узловые значения решения: y (0.05)= 0.30583128660202,…, y (0.4)= 0.42905553899765,…..

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

с начальными условиями .

Для получения решения методом Рунге-Кутта вводим команду load(dynamics); rk(, , , ).

Мы получим значения в узлах:

[,,,,,,,,,,,,,,,,[

1.6,0.55276102463945,-9.157645341403534],,

Это означает, что, например, y(0.5)= 1.227625229955781,

z(0.5)= 0.80905909503231.

3. Графический метод . Этим методом можно решать дифференциальные уравнения первого порядка вида . Если нам необходимо построить интегральные кривые, которые являются графиками решений приведенного уравнения, в какой-то части плоскости , мы каждой точке этой области ставим в соответствие значение , которое совпадает с тангенсом угла наклона касательной к интегральной кривой, проходящей через точку . Зная точку и направление движения по кривой из этой точки, мы переходим к близкой точке, в которой также определяем направление движения,…. Так, двигаясь от точки к точке, мы построим соответствующую интегральную кривую, то есть, решим задачу Коши .

Реальное построение решения таким методом было бы очень сложным без применения компьютерной техники. MAXIMA содержит программу построения графических решений. Если мы введем load(plotdf); plotdf(f(x,y),,) , на экране появится прямоугольник , в точках которого указаны направления касательных к интегральным кривым, проходящим через эти точки. Если щелкнуть курсором по выбранной точке на плоскости, компьютер нарисует интегральную кривую, проходящую через соответствующую точку.

Например, мы хотим построить интегральную кривую уравнения , расположенную в прямоугольнике и проходящую через точку (11,2) .

Введем load(plotdf); plotdf((5-x^2)/(2*x*y-y^2),,); и нажмем Shift+Enter. Мы получим выбранный прямоугольник с указанием направлений из точек прямоугольника. Теперь щелкнем по точке (11,2) , и нарисуется соответствующая интегральная кривая.