бакалаврская работа
материал по информатике на тему

Янгильдина Гулли Равилевна

Бакалаврская работа на тему "Численное решение задачи Коши для обыкновенных дифференциальных уравнений  одношаговыми и многошаговыми методами"

 

Скачать:


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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«МАГНИТОГОРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ

УНИВЕРСИТЕТ ИМ. Г. И. НОСОВА»

Институт- Заочного обучения

Кафедра прикладной математики

и информатики

Специальность 01.03.02.

прикладная математика и информатика

                                                                                     

                                                                         Допустить к защите      

                                                                       Заведующий кафедрой

                                                                                     ______/д.ф.-м.н., проф., С. И. Кадченко/

                                                                                «_____»________________2015 г.

БАКАЛАВРСКАЯ РАБОТА

ЗУ.ФМ.01.03.02.043.БР.15.ПЗ.001

Студента Янгильдиной Гулли Равилевны

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

Состав бакалаврской работы:

1 Пояснительная записка на  84  страницах

2 графическая часть презентация бакалаврской работы

Руководитель  __________________________доцент,_к.ф- м.н , доцент В. В. Дубровский____    

              (подпись, дата, должность, учетная степень, звание, ФИО)

         

Отметка нормоконтролера                                                                                Студент_________________

_____________/   Е. Г. Трофимов         /                                                                                  (подпись)

(подпись, дата)        (ФИО)                                                                                «___»_______________20____г.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«МАГНИТОГОРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ

УНИВЕРСИТЕТ ИМ. Г. И. НОСОВА»

Кафедра прикладной математики

и информатики

                                                                               УТВЕРЖДАЮ:

                                                                               Заведующий кафедрой

                                                                                    ______/д.ф.-м.н., проф., С. И. Кадченко/

                                                                                  «_____»________________20____г.

БАКАЛАВРСКАЯ РАБОТА

ЗАДАНИЕ

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

Студенту: Янгильдиной Гулли Равилевны

Тема утверждена приказом №_____от_________20___г.

Срок выполнения «___»_____________20___г.

Исходные данные к работе:

  1. Задача Коши для линейного дифференциального уравнения
  2. Задача Коши для уравнения с разделяющимися переменными
  3. Задача Коши для однородного дифференциального уравнения
  4. Учебно - методический материал по вычислению задачи Коши методами Эйлера, Рунге- Кутта, Адамса

Перечень вопросов, подлежащих разработке в бакалаврской работе:

  1. Задача Коши для обыкновенных дифференциальных уравнений первого порядка
  2. Одношаговые численные методы: метод Эйлера, метод Рунге- Кутта
  3. Многошаговые численные методы: метод Адамса метод Милна
  4. Численное решение задачи Коши для некоторых типов обыкновенных дифференциальных уравнений
  5. Программная реализация методов Эйлера, Рунге- Кутта и Адамса.

Графическая часть: презентация бакалаврской работы

Руководитель:_________________/ доцент, к.ф- м.н , доцент В. В. Дубровский /

                         

Задание получил:_______________/Янгильдина Г. Р. /

отзыв

РЕФЕРАТ

Бакалаврская работа: «Численное решение задачи Коши для обыкновенных дифференциальных уравнений одношаговыми и многошаговыми методами».

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

         Объем работы составил 84 страниц, 8 таблиц, 23 источников литературы.

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

        Целью работы является изучение научно - методической литературы, численное решение задачи Коши для трех типов обыкновенных дифференциальных уравнений тремя методами: Эйлера, Рунге- Кутта, Адамса, разработка программы и анализ полученных результатов.

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

        В ходе выполнения бакалаврской работы разработаны 9 программ, используя метод Эйлера, Рунге- Кутта, Адамса для линейного ДУ, уравнения с разделяющимися переменными и однородного ДУ. В работе представлены результаты в виде таблицы.

ОГЛАВЛЕНИЕ

                                                        Стр

ВВЕДНИЕ……………………………………………………………………………7

ГЛАВА 1  ПРИБЛИЖЕННОЕ РЕШЕНИЕ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

      1.1   Задача Коши. Основные понятия теории обыкновенных дифференциальных уравнений первого порядка…………..……………………...9

      1.2  Метод Эйлера………………………………………………………………21

      1.3  Метод Рунге- Кутта………………………………………………………..22

      1.4  Метод Адамса………………………………………………………….......25

      1.5  Метод Милна………………………………………………………………28

ГЛАВА 2 ЧИСЛЕННОЕ РЕШЕНИЕ ЗАДАЧИ КОШИ ДЛЯ НЕКОТОРЫХ ТИПОВ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

      2.1  Решение задачи Коши для линейного дифференциального уравнения методами Эйлера, Рунге-Кутта и Адамса………………………………………...30

      2.2  Решение задачи Коши для уравнения с разделяющимися переменными методами Эйлера, Рунге-Кутта и Адамса………………………………………...47

      2.3  Решение задачи Коши для однородного дифференциального уравнения методами Эйлера, Рунге-Кутта и Адамса ………………………………………..53

ГЛАВА 3  РАЗРАБОТКА ПРОГРАММЫ ДЛЯ РЕШЕНИЯ ЗАДАЧИ КОШИ МЕТОДАМИ ЭЙЛЕРА, РУНГЕ - КУТТА, АДАМСА

      3.1.Вычислительный эксперимент………...…………………………………..68

      3.2.Сравнительный анализ полученных результатов.………………………..68

ЗАКЛЮЧЕНИЕ……………………………………………………………………..72

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ………..……………………..73

ПРИЛОЖЕНИЯ…………………………………………………………………….76

                                                 

                                    ВВЕДЕНИЕ

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

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

В данной работе будут рассматриваться методы решения обыкновенных дифференциальных уравнений (ОДУ).

Чтобы решить задачу Коши для некоторого ОДУ, необходимо знать значение зависимой переменной при определенном значении независимой переменной, и если нужно решить ОДУ высших порядков, то так же нужно знать значения её производных при некотором значении независимой переменной.

Актуальность: численное решение задачи Коши используется в тех случаях, когда аналитически решить эту задачу проблематично. В настоящее время количество разработанных методов решения задачи Коши достаточно велико, поэтому эти методы могут быть разделены на следующие группы [1].

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

Одношаговыми являются метод Эйлера и методы Рунге- Кутта [14].

Многошаговые методы, в которых для отыскивания следующей точки кривой y=f(x) требуется информация более чем об одной из предыдущих точек. Чтобы получить достаточно точное численное значение, часто прибегают к итерационным процессам. К числу таких методов относятся методы Милна, Адамса [14].

В данной бакалаврской работе будут рассматриваться одношаговые методы Эйлера и Рунге- Кутта и многошаговый метод Адамса.

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

Для достижения цели работы нужно решить следующие задачи:

- Изучить научно- методическую литературу;

- Численно решить ОДУ трех видов тремя методами: Эйлера, Рунге- Кутта и Адамса.

- сравнить результаты и сделать вывод, какой метод эффективнее использовать для данных типов уравнения.

- Написать программу для решения задачи Коши методами Эйлера, Рунге- Кутта, Адамса.

Структура и объем работы:

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

В первой главе рассмотрены основные понятия теории ОДУ первого порядка, понятие задачи Коши и методы решения задачи Коши для ДУ: одношаговые методы Эйлера и Рунге-Кутта и многошаговые методы Милна и Адамса.

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

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

ГЛАВА 1  ПРИБЛИЖЕННОЕ РЕШЕНИЕ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

§1.1 Задача Коши. Основные понятия теории обыкновенных дифференциальных уравнений.

Задача коши для дифференциального уравнения n-го порядка

заключается в отыскании функции y= y(x), удовлетворяющий этому уравнению и начальным условиям

где  –заданные числа.

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

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

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

Концепция решения дифференциальных уравнений [3], [11], [15].

При использовании численных методов решение дифференциальных уравнений: dy/dx = f(x,y) или y¢ = f(x,y) представляется в табличном виде, т. е. получается совокупность значений yi и хi. Решение носит шаговый характер, т. е. по одной или по нескольким начальным точкам (x, у) за один шаг находят следующую точку, затем следующую и т. д. Разница между двумя соседними значениями аргумента h  = xi+1 –xi называется шагом.

Наибольшее распространение имеют задачи Коши, в которых заданы начальные условия: при х = x0 и у(х0) = y0. Зная их, легко начинать процесс решения, т. е. найти у1 при х1, у2 – при х2 и т. д. Задачи другого типа – краевые задачи (например, с конечными условиями или с условиями в промежуточной точке) – решаются специальными приемами, в том числе нередко сведением к другим эквивалентным задачам с начальными условиями.

Выделяют два класса методов решения: одношаговые и многошаговые [8]. Первый класс методов для нахождения следующего значения функции требует значения только одной текущей точки, т. е.: yi+1 = F[f(хi, yi)], а второй – нескольких, например: yi+1= F[yi-3, yi-2), yi-1, yi]. Поэтому методы второго класса не обладают свойством "самостартования", т.е. ими нельзя начать решение задачи Коши, это всегда делается одношаговыми методами. К недостаткам многошаговых методов относится также и невозможность изменения в процессе решения величины шага (так как они используют предыдущие точки с ранее применяемым шагом, а учет меняющегося шага очень сложен и громоздок), это бывает необходимо для повышения эффективности метода. Заметим, что величина шага существенно влияет на точность и скорость решения, поэтому изменение ее в процессе решения – увеличение при медленно изменяющемся решении и уменьшение при быстро изменяющемся – очень важно для эффективности решения. К достоинствам многошаговых методов относят в основном меньший объем памяти компьютера, требующейся для реализации, и возможность теоретической оценки погрешности решения. Представителем класса многошаговых методов являются методы прогноза и коррекции. К классу одношаговых методов относятся методы Эйлера, Рунге–Кутта и др [1].

Основная идея получения простейших вычислительных алгоритмов в одношаговых методах сводится к разложению искомого решения у(х) в ряд Тейлора в окрестности текущей точки и усечения его. Количество оставленных членов ряда определяет порядок, следовательно, и точность метода. По полученному разложению, зная значение y в точке разложения у, и производную f(хi,yi), находят значение функции у через шаг h: уi+1 = уi + Dуi. Если в разложении удерживается большее число членов, то необходимо рассчитывать f(х, у) в нескольких точках (таким способом избегают необходимости прямого вычисления высших производных, присутствующих при разложении в ряд Тейлора). Расчетные алгоритмы многошаговых методов базируются на построении интерполяционных или аппроксимирующих функций, от которых берется интеграл [18].

Основные понятия теории обыкновенных дифференциальных уравнений.

Определение: Обыкновенным дифференциальным уравнением N – го порядка для функции Y aргумента X называется соотношение вида

                                                                         (1.1)

где F – заданная функция своих аргументов. В названии этого класса математических уравнений термин «дифференциальное» подчеркивает, что в них входят производные  (функции, образованные как результат дифференцирования); термин – «обыкновенное» говорит о том, что искомая функция зависит только от одного действительного аргумента [17].

Обыкновенное дифференциальное уравнение может не содержать в явном виде аргумент X, искомую функцию y(x)  и любые ее производные, но старшая производная  обязана входить в уравнение N-го порядка.

Например

а)  – уравнение первого порядка;

б)  – уравнение третьего порядка.

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

в)  – уравнение второго порядка;

г)  – уравнение первого порядка,

Образующее после деления на dx эквивалентную форму задания уравнения:   .

Функция  называется решением обыкновенного дифференциального уравнения, если при подстановке в него  оно обращается в тождество [21].

Например, уравнение 3-го порядка    имеет решение .

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

                                                                    (1.2)

семейство таких функций образуется с помощью произвольных постоянных и называется общим решением обыкновенного дифференциального уравнения N-го порядка, причем число констант совпадает с порядком уравнения:  . Общее решение может быть, и не разрешено явно относительно Y(X): Ф В этом случае решение принято называть общим интегралом уравнения (1.2).

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

           (1.3)

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

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

Обыкновенные дифференциальные уравнения 1-го порядка. Основные понятия.

Обыкновенное дифференциальное уравнение 1-го порядка (N=1) имеет вид:  или, если его удается разрешить относительно производной: y’=f(x,y) . Общее решение Y=Y(X,С) Или общий интеграл Ф(x,y(x),C)=0 уравнения 1-го порядка содержат одну произвольную постоянную. Единственное начальное условие для уравнения 1-го порядка  позволяет определить значение константы из общего решения или из общего интеграла. Таким образом, будет найдено частное решение или, что тоже, будет решена задача Коши. Вопрос о существовании и единственности решения задачи Коши является одним из центральных в общей теории обыкновенных дифференциальных уравнений [11]. Для уравнения 1-го порядка, в частности, справедлива теорема, принимаемая здесь без доказательства.

Теорема. Если в уравнении y’=f(x) функция f(x,y) и ее частная  производная  непрерывны в некоторой области D Плоскости XOY , и в этой области задана точка (, то существует и притом единственное решение  , удовлетворяющее как уравнению y’=f(x,y) , так и начальному условию .

Геометрически общее решение уравнения 1-го порядка представляет собой семейство кривых на плоскости XOY, не имеющих общих точек и отличающихся друг от друга одним параметром – значением константы C. Эти кривые называются интегральными кривыми для данного уравнения. Интегральные кривые уравнения y’=f(x,y) обладают очевидным геометрическим свойством: в каждой точке (  тангенс угла наклона касательной к кривой равен значению правой части уравнения в этой точке:  . Другими словами, y’=f(x,y) уравнение  задается в плоскости XOY поле направлений касательных к интегральным кривым [22].

Замечание: Необходимо отметить, что к уравнению

приводится уравнение

M(x,y)dx+N(x,y)dy=0

и так называемое уравнение в симметрической форме

.

 Дифференциальные уравнения 1-го порядка с разделяющимися переменными.

Определение. Дифференциальным уравнением с разделяющимися переменными называется уравнение вида

y’=f(x)gy,                                                    (1.4)

или уравнение вида  

(1.5)

Для того, чтобы в уравнении (1.4) разделить переменные, т. е. привести это уравнение к так называемому уравнению с разделенными переменными, произвести следующие действия:

 ;

Теперь надо решить уравнение G(Y)= 0. Если оно имеет вещественное решение Y=A, То Y=A тоже будет решением уравнения (1.4).

Уравнение (1.5) приводится к уравнению с разделенными переменными делением на произведение      

 что позволяет получить общий интеграл уравнения (1.5):

 .                                    (1.6)

Интегральные кривые (1.6) будут дополнены решениями

  , если такие решения существуют [9].

Однородные дифференциальные уравнения 1-го порядка.

Определение. Уравнение 1-го порядка y’=f(x,y)  называется однородным, если для его правой части при любых a 0  справедливо соотношение f(ax,ay)=f(x,y) , называемое условием однородности функции двух переменных нулевого измерения [23].

Теорема. Любая функция  - f(x,y)=f(y/x)  однородна и, наоборот, любая однородная функция f(x,y) нулевого измерения приводится к виду F(y/x).

Доказательство. Первое утверждение теоремы очевидно, т. к. f(ay/ax)=f(y/x) . Докажем второе утверждение. Положим a= 1/x, тогда для однородной функции F(x,y)=F(ax,ay)=F(1,y/x)=f(y/x) , что и требовалось доказать.

Определение.  Уравнение

M(x, y)dx +N(x, y)dy=0                                               (1.7)

в котором M и N – однородные функции одной и той же степени, т. е. обладают свойством f(ax,ay)=a’’’f(x,y) при всех , называется однородным.

Очевидно, что это уравнение всегда может быть приведено к виду

                dy/dx=                                                       (1.8)

хотя для его решения можно этого и не делать.

Однородное уравнение приводится к уравнению с разделяющимися переменными с помощью замены искомой функции Y по формуле Y=Zx, где Z(X) – новая искомая функция. Выполнив эту подстановку в уравнении (1.8), получим:  z’x+z= .

Интегрируя, получаем общий интеграл уравнения относительно функции Z(X) , который после повторной замены  дает общий интеграл исходного уравнения. Кроме того zi, если - корни уравнения , то функции  - решения однородного заданнoго уравнения. Если же , то уравнение (1.8) принимает вид

и становится уравнением с разделяющимися переменными. Его решениями являются полупрямые:

 .

Замечание. Иногда целесообразно вместо указанной выше подстановки использовать подстановку X=Zy.

Дифференциальные уравнения, приводящиеся к однородным.

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

                                              (1.9)

Если  , то это уравнение с помощью подстановки  , где   и   - новые переменные, а a и  - некоторые постоянные числа, определяемые из системы

приводится к однородному уравнению    .

Если , то уравнение (1.9) принимает вид

.

Полагая Z=Ax+By, приходим к уравнению, не содержащему независимой переменной.

Обобщенное однородное уравнение. Уравнение M(X,Y)Dx+N(X,Y)Dy=0  называется обобщенным однородным, если удается подобрать такое число K, что левая часть этого уравнения становится однородной функцией некоторой степени M относительно X, Y, Dx  и  Dy при условии, что X Считается величиной первого измерения, Y – K‑го измерения, Dx  и  Dy – Соответственно нулевого и (K-1)-го измерений.

Действительно при сделанном предположении относительно измерений

X, Y, Dx  и  Dy. Члены левой части   Dx  и  Dy будут иметь соответственно измерения -2, 2K и K-1. Приравнивая их, получаем условие, которому должно удовлетворять искомое число K: -2 = 2K = K-1. Это условие выполняется при K = -1 (при таком K все члены левой части рассматриваемого уравнения будут иметь измерение -2). Следовательно, уравнение (1.9) является обобщенным однородным [11].

Линейные дифференциальные уравнения 1-го порядка.

Линейным уравнением 1-го порядка называется уравнение, линейное относительно искомой функции и ее производной. Оно имеет вид:

                                                 (1.10)

где P(X) и  Q(X) – заданные непрерывные функции от X. Если функция

, То уравнение (1.10) имеет вид:

                       (1.11)

и называется линейным однородным уравнением, в противном случае

  0, оно называется линейным неоднородным уравнением.

Линейное однородное дифференциальное уравнение (1.11) является уравнением с разделяющимися переменными:

                                                    (1.12)

Выражение (1.12) есть общее решение уравнения (1.11). Чтобы найти общее решение уравнения (1.10), в котором функция P(X) обозначает ту же функцию, что и в уравнении (1.11), применим прием, называемый методом вариации произвольной постоянной и состоящий в следующем: постараемся подобрать функцию С=С(X) так, чтобы общее решение линейного однородного уравнения (1.11) являлось бы решением неоднородного линейного уравнения (1.10). Тогда для производной функции (1.12) получим:

Подставляя найденную производную в уравнение (1.10), будем иметь:

или                            

,

откуда C(x)=, где - произвольная постоянная. В результате общее решение неоднородного линейного уравнения (1.10) будет

y=+                               (1.13)

Первое слагаемое в этой формуле представляет общее решение (1.12) линейного однородного дифференциального уравнения (1.11), а второе слагаемое формулы (1.13) есть частное решение линейного неоднородного уравнения (1.10), полученное из общего (1.13) при  =0. Этот важный вывод выделим в виде теоремы.

Теорема. Если известно одно частное решение линейного неоднородного дифференциального уравнения , то все остальные решения имеют вид ,(x), где  - общее решение соответствующего линейного однородного дифференциального уравнения.

Однако надо отметить, что для решения линейного неоднородного дифференциального уравнения 1-го порядка (1.10) чаще применяется другой метод, иногда называемый методом Бернулли. Будем искать решение уравнения (1.10) в виде  . Тогда . Подставим найденную производную в исходное уравнение:

Объединим, например, второе и третье слагаемые последнего выражения и вынесем функцию U(X) за скобку:  

v+U(+                                       (1.14)

Потребуем обращения в нуль круглой скобки:  .

Решим это уравнение, полагая произвольную постоянную C  равной нулю:  . С найденной функцией V(X) вернемся в уравнение (1.14):     .

Решая его, получим:

 dx+C.

Следовательно, общее решение уравнения (1.10) имеет вид:

.

Уравнение Бернулли.

Определение. Дифференциальное уравнение вида

,

где , называется уравнением Бернулли.

Предполагая, что , разделим обе части уравнения Бернулли на  . В результате получим:  

                                     (1.15)

Введем новую функцию. Тогда

,

домножим уравнение (1.15)    и перейдем в нем к функции Z(X):

,

т. е. для функции Z(X) получили линейное неоднородное уравнение 1-го порядка. Это уравнение решается методами, разобранными в предыдущем параграфе. Подставим в его общее решение вместо Z(X) выражение  , получим общий интеграл уравнения Бернулли, который легко разрешается относительно Y. При   добавляется решение Y(X)=0. 

Дифференциальные уравнения в полных дифференциалах.

Определение. Если в уравнении

 M(X,Y)Dx+N(X,Y)Dy=0  ,                                  (1.16)

левая часть есть полный дифференциал некоторой функции U(X,Y), то оно называется уравнением в полных дифференциалах. Это уравнение можно переписать в виде Du(X,Y)=0, следовательно, его общий интеграл есть U(X,Y)=C.

Например, уравнение Xdy+Ydx=0 есть уравнение в полных дифференциалах, так как его можно переписать в виде D(Xy)=0. Общим интегралом будет Xy=C.

Теорема.  Предположим, что функции M и N Определены и непрерывны в некоторой односвязной области D и имеют в ней непрерывные частные производные соответственно по Y  и по X. Тогда, для того, чтобы уравнение (1.16) было уравнением в полных дифференциалах, необходимо и достаточно, чтобы выполнялось тождество

               .                                                      (1.17)

Доказательство. Доказательство необходимости этого условия очевидно. Поэтому докажем достаточность условия (1.17). Покажем, что может быть найдена такая функция

U(X,Y), что   .

Действительно, поскольку  , то

,                           (1.18)

где  - произвольная дифференцируемая функция. Продифференцируем (1.18) по Y:

,

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

 .

Положим

 

и тогда

.

Итак, построена функция

,

для которой  , а .

§1.2  Метод Эйлера

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

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

=f (x,y)

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

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

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

При этом искомая интегральная кривая y=y(x) , проходящая через точку , заменяя ломанной   с вершинами  ; каждое звено  этой ломаной, называемой ломаной Эйлера, имеет направление, совпадающее с направлением той интегральной кривой уравнения , которая проходит через точку  [14].

Если правая часть уравнения в некотором прямоугольнике

удовлетворяет условиям

то имеет место следующая оценка погрешности:

где - значение точного решения уравнения при - приближенное значение, полученное на n- м шаге.

Формула (1.20) имеет лишь теоретическое применение. На практике иногда оказывается более удобным двойной просчет: расчет повторяют с шагом и погрешность более точного значения  (при шаге ) оценивают приближенно так:

Метод Эйлера легко распространяется на системы дифференциальных уравнений и на дифференциальные уравнения высших порядков. Последние должны быть предварительно приведены к системе дифференциальных уравнений первого порядка [14].

Рассмотрим систему двух уравнений первого порядка

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

Приближенные значения  вычисляются последовательно по формулам

                       (1.24)

§1.3  Методы Рунге- Кутта 4-го порядка

   Рассмотрим задачу Коши для дифференциального уравнения

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

Обозначим через  приближенное значение искомого решения в точке  . По методу Рунге- Кутта вычисление приближенного значения  в следующей точке  производится по формулам [14]

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

Таблица 1.1 Интегрирование дифференциального уравнения методом Рунге-  Кутта

i

x

y

K=hf(x,y)

0

1

Порядок заполнения таблицы [14].

  1. Записываем в первой строке таблицы данные значения ,
  2. Вычисляем , умножаем на h и заносим в таблицу в качестве .
  3. Записываем во второй строке таблицы
  4. Вычисляем f(,  умножаем на h и заносим в таблицу в качестве .
  5. Записываем в третьей строке таблицы  
  6. Вычисляем f(, умножаем на h, заносим в таблицу в качестве
  7. Записываем в четвертой строке таблицы , .
  8. Вычисляем f(, ), умножаем на h, заносим в таблицу в качестве
  9. В столбец  записываем числа
  10. Суммируем числа, стоящие в столбце , делим на 6 и заносим в таблицу в качестве .
  11. Вычисляем .

Затем все вычисления продолжают в том же порядке, принимая на начальную точку .

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

Заметим, что шаг расчета можно менять при переходе от одной точки к другой. Для контроля правильности выбора шага h рекомендуется вычислять дробь

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

где - значение точного решения уравнения (1.25) в точке , а - приближенные значения, полученные с шагом   и  h.

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

§1.4    Метод Адамса

Пусть для уравнения

 ,                                                      (1.30)

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

   

С помощью этих значений вычисляем величины

 

 .

Записываем числа   в табл. 1.2 и вычисляем конечные разности величины q (числа над ломаной линией в табл.1.2).

Метод Адамса состоит в продолжении этой таблицы разностей с помощью формулы

которая называется экстраполяционной формулой Адамса. Она применяется для получения значения  Подсчитанное по этой формуле полученное значение мы будем обозначать через   [2].

Таблица1. 2 Таблица для интегрирования дифференциального уравнения методом Адамса

Полученное по формуле (1.31) значение   надо еще уточнить. Для этого нужно записать в таблицу значения  дополнить таблицу разностей , а затем сделать пересчет по формуле «коррекции»

которая называется интерполяционной формулой Адамса. Уточненное с помощью формулы (1.32) значение мы будем обозначать через .

Формулы (1.31) и (1.32) имеют достаточно большую точность. Они дают погрешность порядка , но сами формулы оценки погрешности довольно сложны.

На практике обычно пользуются следующими соображениями. Ошибка более точной формулы коррекции (1.32) составляет примерно  часть разности между значениями , подсчитанными по формулам (1.31) и (1.32). Поэтому, если указанная разность ненамного превышает допустимую ошибку расчета, то шаг h считается выбранным верно и расчет продолжают с выбранным шагом. Если же на некотором этапе расчета указанная разность становится большой (и при этом нет ошибки в самих вычислениях!), то шаг расчета h следует уменьшить. Рекомендуется уменьшать шаг в два ряда, используя уже имеющиеся точки и формулы интерполяции на середину [4].

Порядок заполнения таблицы 1.2.

  1. Записываем в таблицу 1.2 числа    (k=0,1,2,3) и вычисляем разности      (k=0,1,2),   (k=0,1),   .
  2. Используя числа , , , , помещенные в таблице разностей по диагонали, определяем по формуле (1.31) при k=3

  1. Вычисляем  
  2. Записываем значения  в табл. 1.2, находим ,  и пополняем таблицу разностей значениями , , .
  3. Используя полученные значения разностей q, уточняем величину  по формуле (1.32) при k=3:

.

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

Вычисления для k=4, 5, … проводятся аналогично [14].

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

и интерполяционную формулу Адамса в виде

Метод Адамса легко распространяется на системы дифференциальных уравнений, а также на дифференциальные уравнения n-го порядка [12].

Пусть имеем систему двух уравнений

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

где

Аналогичным образом записываются интерполяционные формулы Адамса для системы.

§1.5  Метод Милна

Пусть для уравнения (1.30) кроме начального условия  известен «начальный отрезок», т.е. значения искомой функции  в точках , i=1,2,3 (их можно найти одним из методов, изложенных выше) последующие значения , при i=4,5,… определяются следующим образом [14]. Для предсказания используется первая формула Милна

Используя  , находим  и производим уточнение (коррекцию по второй формуле Милна

Абсолютная погрешность  более точного значения  приближенно определяется по формуле

 .                                         (1.39)

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

и перейти к вычислению . В противном случае следует уменьшить шаг h [15].  

Остаточные члены формул (1.37), (1.38) имеют порядок  на каждом шаге и порядок  на всем отрезке  .

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

ГЛАВА 2 ЧИСЛЕННОЕ РЕШЕНИЕ ЗАДАЧИ КОШИ ДЛЯ НЕКОТОРЫХ ТИПОВ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

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

§2.1  Решение задачи Коши для линейного дифференциального уравнения методами Эйлера, Рунге- Кутта, Адамса

2.1.1  Решение линейного дифференциального уравнения методом Эйлера

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

y' = 2y + x,  удовлетворяющего начальному условию у(0)=1, выбрав шаг h = 0,1 [5].

Решение:

Начальные значения для заданного дифференциального уравнения составляют x0 = 0, y0= 1.  

Воспользуемся формулами [14]:

Вычислим первое приближение:

) =0,1 (20, 2.

Второе приближение:

) =0,1 0, 25.

Третье приближение:

) =0,1 0, 31.

Четвертое приближение:

) =0,1 0, 382.

Пятое приближение:

) =0,1 0,4684.

Шестое приближение:

) =0,1 0,57208.

Седьмое приближение:

) =0,1 0,6965.

Восьмое приближение:

) =0,1 0, 8458.

Девятое приближение:

) =0,1 1,02495.

Десятое приближение:

) =0,1 1,239944.

Результаты расчётов сведём в таблицу 2.1

Таблица 2.1 Интегрирование дифференциального уравнения методом Эйлера

i

x

y

f(x, y) = 2y + x

y = 0.1 f(x,y)

0

0

1

2

0,2

1

0,1

1,2

2,5

0,25

2

0,2

1,45

3,1

0,31

     3

0,3

1,76

3,82

0,382

4

0,4

2,142

4,684

0,4684

5

0,5

2,6104

5,7208

0,57208

6

0,6

3,18248

6,9650

0,69650

7

0,7

3,87898

8,4580

0,84580

8

0,8

4,72477

10,2495

1,02495

9

0,9

5,74972

12,3994

1,23994

    10

1,0

         6,98966

2.1.2 Решение линейного дифференциального уравнения методом Рунге- Кутта

Применяя метод Рунге-Кутта, численно решить и составить на отрезке (0, 1] таблицу значений интеграла дифференциального уравнения из примера:

y' = 2y + x,  удовлетворяющего начальному условию у(0)=1, выбрав шаг h = 0.1.

Решение:

Начальные значения для заданного дифференциального уравнения составляют = 0,  = 1.

Вычислим первое приближение.

 

Вычислим второе приближение.

Третье приближение.

Четвертое приближение.

Пятое приближение.

Шестое приближение.

Седьмое приближение.

Восьмое приближение.

Девятое приближение.

Десятое приближение.

Результаты расчётов сведём в таблицу  2.2

Таблица 2.2  Интегрирование дифференциального уравнения методом Рунге–Кутта

i

x

y

k = 0.1(2y + x)

0

0

0,05

0,05

0,1

1,0000

1,1000

1,1125

1,2275

0,2000

0,2250

0,2275

0,2555

0,2000

0,4500

0,4550

0,2555

1/6*1,3605 = 0,2267

1

0,1

0,15

0,15

0,2

1,2267

1,3544

1,3697

1,5157

0,2553

0,2859

0,2889

0,3231

0,2553

0,5718

0,5778

0,3231

1/6*1,7281=0,2880

2

0,2

0,25

0,25

0,3

1,5148

1,6763

1,6192

1,8636

0,3230

0,2088

0,3488

0,4027

0,3230

0,4176

0,6976

0,4027

1/6*1,8409=0,3068

3

0,3

0,35

0,35

0,4

1,8216

2,0187

2,0410

2,2656

0,3943

0,4387

0,4440

0,4931

0,3943

0,8774

0,8880

0,4931

1/6*2,6528=0,4421

4

0,4

0,45

0,45

0,5

2,2637

2,5101

2,5372

2,8161

0,4927

0,5470

0,5524

0,6132

0,4927

1,0940

1,1048

0,6132

1/6*3,3048=0,5508

5

0,5

0,55

0,55

0,6

2,8145

3,1210

3,1545

3,5004

0,6129

0,6800

0,6859

0,7601

0,6129

1,3600

1,3718

0,7601

1/6*4,1046=0,6841

Продолжение таблицы 2.2

6

0,6

0,65

0,65

0,7

3,4986

3,8785

4,9190

4,3774

0,7597

0,8407

0,8488

0,9305

0,7597

1,6814

1,6976

0,9305

1/6*5,0694=0,8449

7

0,7

0,75

0,75

0,8

4,3435

4,8129

4,8623

5,3909

0,9787

1,0376

1,0474

1,1582

0,9787

2,0752

2,0948

1,1582

1/6*6,2670=1,0445

8

0,8

0,85

0,85

0,9

5,3880

5,9668

6,0271

6,6784

1,1576

1,2783

1,2904

1,4257

1,1576

2,5566

2,5808

1,4257

1/6*7,7214=1,2869

9

0,9

0,95

0,95

1

6,6749

7,3874

7,4612

8,2621

1,4250

1,5725

1,5872

1,7524

1,4250

3,1450

3,1744

1,7524

1/6*9,4968=1,5828

10

1

8,2577

2.1.3  Решение линейного дифференциального уравнения методом Адамса

Применяя метод Адамса, численно решить и составить на отрезке (0, 1] таблицу значений интеграла дифференциального уравнения из примера :

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

Решение.

Для начала процесса используем значения, найденные методом Рунге–Кутта,  т. е.  = 1;  = 1,2267;  = 1,5148;  = 1,8776.

Вычислим значения hy' в четырёх начальных точках.

=

=

=

=

Рассчитаем конечные разности для полученных значений.

Конечные разности первого порядка:

Конечные разности второго порядка:

Конечная разность третьего порядка:

Рассчитаем приближение, применяя формулу Адамса:

Тогда

 

Найдём следующее приближение :

Вычислим значение :

Рассчитаем конечные разности для полученных значений.

Рассчитаем приближение, применяя формулу Адамса:

Тогда:

Найдём следующее приближение :

Вычислим значение :

Рассчитаем конечные разности для полученных значений.

Рассчитаем приближение, применяя формулу Адамса:

Тогда:

Найдём следующее приближение :

Вычислим значение :

Рассчитаем конечные разности для полученных значений.

Рассчитаем приближение, применяя формулу Адамса:

Тогда:

Найдём следующее приближение :

Вычислим значение :

Рассчитаем конечные разности для полученных значений.

Рассчитаем приближение, применяя формулу Адамса:

Тогда:

Найдём следующее приближение :

Вычислим значение :

Рассчитаем конечные разности для полученных значений.

Рассчитаем приближение, применяя формулу Адамса:

Тогда:

Найдём следующее приближение :

Вычислим значение :

Рассчитаем конечные разности для полученных значений.

Рассчитаем приближение, применяя формулу Адамса:

Тогда:

Вычисление сведём в таблицу 2.3

Таблица 2.3  Таблица для интегрирования дифференциального уравнения методом Адамса

i

x

y

 

hy'

 ( hy')

 ( hy')

 ( hy')

0

0

1

0

0.2

0.0553

0.0124

0.0024

1

0.1

1.2267

0

0.2553

0.0677

0.0148

0.0035

2

0.2

1.5148

0

0.3230

0.0825

0.0183

0.0041

3

0.3

1.8776

0.4541

0.4055

0.1008

0.0224

0.0047

4

0.4

2.3317

0.5656

0.5063

0.1232

0.0271

0.0062

5

0.5

2.8973

0.7019

0.6295

0.1503

0.0333

0.0074

6

0.6

3.5992

0.8679

0.7798

0.1836

0.0407

0.0089

7

0.7

4.4671

1.0714

0.9634

0.2243

0.0496

0

8

0.8

5.5385

1.3195

1.1877

0.2739

0

0

9

0.9

6.8580

1.6225

1.4616

0

0

0

10

1

8.4805

0

0

0

0

0

2.1.4  Решение линейного дифференциального уравнения аналитическим методом

Решить аналитически линейное неоднородное дифференциальное уравнение из примера:

y' = 2y + x,  удовлетворяющего начальному условию у(0)=1.

Решение:

В данной задаче P(x) = 2, Q(x) = x. 

Первоначально решим линейное однородное дифференциальное уравнение, полагая Q(x) =0.

Решением дифференциального уравнения  y' = 2y  будет

                                            (2.1)

Перейдем к методу вариации постоянной и будем искать решение в виде:

                                                  (2.2)

Подставляя выражение (2.2) в (2.1) приходим к следующему виду дифференциального уравнения:

Его общее решение:

Тогда общее решение дифференциального уравнения принимает вид:

Для того, чтобы вычислить значение  С, подставим начальные условия задачи x = 0, y = 1 и решим получившееся уравнение.

Таким образом, решение дифференциального уравнения  имеет вид:

§2.2   Решение задачи Коши для уравнения с разделяющимися переменными методами Эйлера, Рунге- Кутта, Адамса

Задание: решить задачу Коши для ОДУ:   [16]

- аналитическим методом;

- методом Эйлера с шагом h;

- методом Рунге- Кутта с шагом h;

- методом Адамса.

Решение.

2.2.1 Решение дифференциального уравнения с разделяющимися переменными аналитическим методом

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

  – общее решение ОДУ.

С помощью начальных условий найдем частное решение:

Тогда  частное решение.

Таким образом, при

2.2.2  Решение дифференциального уравнения с разделяющимися переменными  методом Эйлера

Воспользуемся следующими формулами:

По условию:  тогда:

       

                       

Аналогично

2.2.3 Решение дифференциального уравнения с разделяющимися переменными  методом Рунге- Кутта.

Используя следующие формулы:

Таким образом, вычислим первое приближение:

+2

Аналогично, найдем

+2

+2

+2

2.2.4 Решение дифференциального уравнения с разделяющимися переменными методом  Адамса

Используем значения, найденные методом Рунге–Кутта,  т. е.

 = 1; ;  =  2,4532;  =5,6818.

Вычислим значения hy' в четырёх начальных точках.

=

=

=

=

Рассчитаем конечные разности для полученных значений.

Конечные разности первого порядка:

Конечные разности второго порядка:

Конечная разность третьего порядка:

Рассчитаем приближение, применяя формулу Адамса:

Тогда

                                       

§2.3    Решение задачи Коши для однородного дифференциального уравнения методами Эйлера, Рунге- Кутта, Адамса.

Численно решить задачу Коши для однородного дифференциального  уравнения  , удовлетворяющего начальному условию у(0)=1,  на интервале (0,1] и выбрав шаг h = 0.1 [19]  аналитически и методами Эйлера, Рунге- Кутта и Адамса.

2.3.1 Решение однородного дифференциального уравнения аналитическим методом

Аналитическое решение:

2.3.2 Решение однородного дифференциального уравнения методом Эйлера

 Применяя метод Эйлера, численно решить и составить на отрезке (0;1] таблицу значений интеграла дифференциального уравнения ,

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

Решение:

Начальные значения для заданного дифференциального уравнения составляют x0 = 0, y0= 1.  

Воспользуемся формулами:

Вычислим первое приближение:

Второе приближение:

Третье приближение:

Четвертое приближение:

Пятое приближение:

Шестое приближение:

Седьмое приближение

Восьмое приближение:

Девятое приближение:

Десятое приближение:

2.3.3 Решение однородного дифференциального уравнения  методом Рунге- Кутта

Применяя метод Рунге-Кутта, численно решить и составить на отрезке (0;1] таблицу значений интеграла дифференциального уравнения из примера :

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

Решение:

Начальные значения для заданного дифференциального уравнения составляют = 0,  = 1.

Вычислим первое приближение.

 

Вычислим второе приближение.

Третье приближение.

Четвертое приближение.

Пятое приближение.

Шестое приближение.

Седьмое приближение.

Восьмое приближение.

Девятое приближение.

Десятое приближение.

2.3.4  Решение однородного дифференциального уравнения методом Адамса

Применяя метод Адамса, численно решить и составить на отрезке (0,1] таблицу значений интеграла дифференциального уравнения из примера :

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

Решение.

Для начала процесса используем значения, найденные методом Рунге–Кутта,  т. е.

 = 1;  =1,10188;  =1,1036;  =1,1087.

Вычислим значения hy' в четырёх начальных точках.

Рассчитаем конечные разности для полученных значений.

Конечные разности первого порядка:

Конечные разности второго порядка:

Конечная разность третьего порядка:

Рассчитаем приближение, применяя формулу Адамса:

Тогда

 

Найдём следующее приближение :

Вычислим значение :

Рассчитаем конечные разности для полученных значений.

Рассчитаем приближение, применяя формулу Адамса:

Тогда:

Найдём следующее приближение :

Вычислим значение :

Рассчитаем конечные разности для полученных значений.

Рассчитаем приближение, применяя формулу Адамса:

Тогда:

Найдём следующее приближение :

Вычислим значение :

Рассчитаем конечные разности для полученных значений.

Рассчитаем приближение, применяя формулу Адамса:

Тогда:

Найдём следующее приближение :

Вычислим значение :

Рассчитаем конечные разности для полученных значений.

Рассчитаем приближение, применяя формулу Адамса:

Тогда:

Найдём следующее приближение :

Вычислим значение :

Рассчитаем конечные разности для полученных значений.

Рассчитаем приближение, применяя формулу Адамса:

Тогда:

Найдём следующее приближение :

Вычислим значение :

Рассчитаем конечные разности для полученных значений.

Рассчитаем приближение, применяя формулу Адамса:

Тогда:

ГЛАВА 3  РАЗРАБОТКА ПРОГРАММЫ ДЛЯ РЕШЕНИЯ ЗАДАЧИ КОШИ МЕТОДАМИ ЭЙЛЕРА, РУНГЕ- КУТТА, АДАМСА

§3.1    Вычислительный эксперимент

Программа написана на языке Turbo Pascal [6], [10].

Листинг программ для задачи Коши:

 для метода Эйлера приведен в приложении А, для метода Рунге- Кутта – в приложении Б, для метода Адамса- в приложении В.

Листинг программы Эйлера для задачи Коши:  приведен в приложении Г, для метода Рунге- Кутта- в приложении Д, метода Адамса- в приложении Е.

Листинг программы Эйлера для задачи Коши:

 приведен в приложении Ж. Листинг программы для метода Рунге- Кутта приведен в приложении З, а для метода Адамса- в приложении И.

§3.2    Сравнительный анализ полученных результатов

По результатам выполненных программ был проведен сравнительный анализ полученных результатов.  В таблицах (3.1), (3.2) и (3.3)   показаны результаты  численных расчетов для линейного дифференциального уравнения, для уравнения с разделяющимися переменными и для однородного дифференциального уравнения методами Эйлера, Рунге- Кутта и Адамса.

Таблица 3.1Результаты численных расчетов для линейного дифференциального уравнения

i

Xi

Yi

Точное решение

Метод Эйлера

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

Метод Адамса

0

0

1

1,0000

1,0000

1,0000

1

0,1

1,2268

1,2000

1,2267

1,2267

2

0,2

1,5148

1,4500

1,5148

1,5148

3

0,3

1,8776

1,7600

1,8216

1,8776

4

0,4

2,3319

2,1420

2,2637

2,3317

5

0,5

2,8979

2,6104

2,8145

2,8973

6

0,6

3,6001

3,1825

3,4986

3,5992

7

0,7

4,4690

3,8790

4,3435

4,4671

8

0,8

5,5413

4,7248

5,3880

5,5385

9

0,9

6,8621

5,7497

6,6749

6,8580

10

1

8,4863

6,9897

8,2577

8,4805

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

Погрешности метода Эйлера:

 – абсолютная погрешность

– относительная погрешность

Погрешности метода Рунге-Кутта:

 – абсолютная погрешность

- относительная погрешность

Погрешности метода Адамса:

 – абсолютная погрешность

 относительная погрешность.

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

Таблица 3.2 Результаты численных расчетов для дифференциального уравнения с разделяющимися переменными

x

y

Метод Эйлера

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

 Метод Адамса

Точное решение

-

1

1

1

1

-

1

1,2114

1,2114

1,3403

 0

1,5552

2,4532

2,4532

2,7183

         

2,7764

5,6818

5,6818

5,5129

4,3180

7,6077

9,2132

7,3890

Сравнивая полученные результаты, делаем вывод, что Метод Рунге- Кутта для данного дифференциального уравнения позволяет получить наиболее точное решение.

Таблица 3.3  Результаты численных расчетов для однородного ДУ

x

y

Точное решение

Метод Эйлера

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

Метод Адамса

0

1,0000

1,0000

1,0000

1,0000

0,1

1,0322

1,0000

1,1018

1,1018

0,2

1,0626

1,0010

1,1036

1,1036

0,3

1,0913

1,0013

1,1087

1,1087

0,4

1,1186

1,0102

1,1170

1,1187

0,5

1,1447

1,0258

1,1330

1,1344

0,6

1,1696

1,0495

1,1560

1,1576

0,7

1,1934

1,0821

1,1867

1,1886

0,8

1,2164

1,1239

1,2253

1,2271

0,9

1,2385

1,1745

1,2716

1,2734

1

1,2599

1,2332

1,3251

1,3266

Как видно из результатов решений примеров наиболее точным численным методом решения для однородного уравнения  являются  метод Адамса.

ЗАКЛЮЧЕНИЕ

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Бахвалов. Н. С. Численные методы  [Текст]: учебное пособие/ Н. С. Бахвалов, Н. П. Жидков, Г. М. Кобельков : -М.: Наука, 1987.- 440 с.- (Высшее образование).- ISBN 5-94774-060-5
  2. Березин И.С. Методы вычислений [Текст]: учебное пособие/ И. С. Березин, Н. П.  Жидков – 2- е изд.- М.: Физматлит, 1962.- 620 с: ил.- ISBN 5-06-000125-5
  3. Бут Э. Д. Численные методы [Текст]: учебное пособие/ Э. Д. Бут; Пер. с. англ. Т. М. Тер- Микаэлян, В. М. Ред.- М.:Физматлит, 1959.- 237 с.- ISBN 5-06-0054 93-4  
  4. Вержбицкий В. М. Численные методы. Математический анализ и обыкновенные дифференциальные уравнения [Текст]: учебное пособие/ В. М. Вержбицкий. -  М.: ОНИКС 21 век, 2005.- 400 с.- ISBN 9785329011111
  5. Воробьева Г. Н. Практикум по вычислительной математике [Текст]: учебное пособие/ Г. Н. Воробьева,  А. Н. Данилова. -М.: Высшая школа, 2001.- 382 с.- ISBN 5-06-001544-0
  6. Вычислительная техника и программирование. Практикум по программированию [Текст]: учебное пособие/ А. В. Петров, В. Е. Алексеев, А. С. Ваулин, Г. Б. петров; под. ред. А. В. Петрова. - М.: “Высшая школа”, 1990.- 400 с.-ISBN 5-06-000721-9
  7. Деккер К. Устойчивость методов Рунге-Кутты для жестких нелинейных дифференциальных уравнений [Текст]: учебное пособие / К. Деккер, Я.  Вервер. -М.: Мир, 1988.- 335 с.- ISBN 5-03-00466-1
  8. Демидович. Б. П. Основы вычислительной математики [Текст]: учебное пособие для вузов / Б. П. Демидович, И. А. Марон. -М.: Лань, 2006.- 672 с.- ISBN 5-8114-0695-9
  9. Загускин В.Л.  Справочник по численным методам решения уравнений [Текст]: учебное пособие/ Л. В. Загускин. -М.: ФИЗМАТГИЗ, 1960. – 216 с. – ID 7417977
  10. Информатика. Программирование в среде Турбо Паскаль 7.0 [Электронный ресурс]- режим доступа: mirknig. com/ 1181797945.. paskal. Html . Дата доступа: 14. 05. 2015.
  11. Камке Э. Справочник по обыкновенным дифференциальным уравнениям [Текст]: учебное пособие / Э. Камке. -М.: Наука, 1976.- 589 с.- ISBN 978-5-458-54860-1
  12. Ким И. Г. Численные методы: учеб. -метод. Пособие [Текст]: учебно- методическое пособие. Ч. 2. / И. Г. Ким, Н. В. Латыпова, О. Л. Моторина; Ижевск: Изд-во «Удмуртский университет», 2013. -64 с.
  13. Кузнецов Ю.И. Алгебраические основы РК-метода численного решения ОДУ [Текст]: учебное пособие/ Ю. И. Кузнецов . - Новосибирск, изд. ИВМиМГ СО РАН, 1995. – 169 с.- ISBN 5-94157-440-1
  14. Копченова Н. В. Вычислительная математика в примерах и задачах [Текст]: учебное пособие для вузов/ Н. В. Копченова, И. А. Марон.- М.: Лань, 2009.- 368 с.- ISBN 978-5-8114-0801-6
  15. Лапчик М. П. Численные методы [Текст]: учебное пособие для вузов / М. П. Лапчик, М. И. Рагулина, Е. К. Хеннер.- М.: Академия, 2005.- 384 с.-ISBN 5-7695-2503-7
  16.  Лимонникова Е. В. Вычислительная математика. Методические указания по выполнению контрольных работ [Текст]: учебное пособие / Е. В. Лимонникова.- Часть 2.- Северодвинск, 2010.- 192 с.- ISBN 5-8291-0317-6
  17. Методы, теории обыкновенных дифференциальных уравнений [Текст]: учебное пособие / Н.И. Гаврилов; Государственное издательство "Высшая школа", Москва, 1962.- 62 с.- ISBN 5-354-00183-8
  18. Михеев С. Е. численные методы [Текст]: учебное пособие/ С. Е. Михеев.- СПб.: СПбГУ, 2013.- 93 с.
  19. Молчанова Л. А. Разностные методы решения дифференциальных уравнений [Текст]: учебное пособие/ Л. А. Молчанова.- Владивосток: Изд- во Дальневост. ун-та, 2008.- 68 с.- ISBN 5-354-00555-3
  20. Мышенков В.И. Численные методы. Ч. 2. Численное решение обыкновенных дифференциальных уравнений [Текст]: учебное пособие для студентов специальности 073000/ В. И. Мышенков, Е. В. Мышенков. – М.:МГУЛ, 2005. – 109 с.- ISBN 978-5-06-004763-9
  21. Пак. В. В. Высшая математика [Текст]: учебное пособие для вузов/ В. В. Пак, Ю.Л. Носенко. - Д.: Сталкер, 1997г. – 560 с.- ISBN 966-7104-21-4
  22. Самарский А. А. введение в численные методы [Текст]:учебное пособие/ А. А. Самарский.- М.: Лань,2008.- 340 с.
  23. Тарасов В.Н. Численные методы. Теория, алгоритмы, программы [Текст]: учебное пособие для вузов/ В. Н. Тарасов, Н. Ф. Бахарева .– Оренбург: ИПК ОГУ, 2008. –264 с.- ISBN 5-7410-0451-2
  24. Турчак Л.И. Основы численных методов [Текст]: учебное пособие/ Л. И. Турчак. - М.: ”Наука”, 1987.-304 с.- ISBN 5-9221-0153-6
  25. Хартман Ф. Обыкновенные дифференциальные уравнения [Текст]: учебное пособие / Ф. Хартман.- М.: Лань, 1970.- 384 с.- ISBN 5-8360-0213-4

ПРИЛОЖЕНИЯ

Приложение А

(обязательное)

Листинг программы, реализующий метод  Эйлера для задачи Коши:

Program Euler;

Uses crt;

Var (x1, y1: real): real;

Begin f:=2*y+x;

End;

Begin

Clr scr;

Writeln (‘введите через пробел нач. значения x и у:’);

Readln (x,y);

Writeln (‘введите величину шага интегрирования:’);

Readln (h);

Writeln (‘ введите абсциссу правого конца отрезка:’);

Readln (b);

Writeln (‘таблица значений искомой функции:’);

Writeln (‘x’,’y’);

Repeat

Writeln (x:3:1,’’,y:4:2);

Y:= y+h*f(x,y);

X:= x+h;

Until x:=nb+h/2;

Repeat until keypressed

End.

Приложение Б

(обязательное)

Листинг программы, реализующий метод  Рунге- Кутта для задачи Коши:

Program Rung_kytt;

Uses crt;

var

  k1,k2,k3,k4,x,y: array [0..n] of real;

  h: real;

  i: integer;

 

function f(x,y: real): real;

begin

 f:=2*y+x;

end;

begin

  h:=0.1;

  y[0]:=1;

  for i:=0 to n do

    x[i] :=i*h;

 

  for i:=0 to n-1 do

  begin

    k1[i]:=f(x[i],y[i]);

    k2[i]:=f(x[i]+h/2,y[i]+h*k1[i]/2);

    k3[i]:=f(x[i]+h/2,y[i]+h*k2[i]/2);

    k4[i]:=f(x[i]+h,y[i]+h*k3[i]);

 

    y[i+1]:=y[i]+h/6*(k1[i]+2*k2[i]+2*k3[i]+k4[i]);

  end;

 

  for i := 0 to n do

    writeln(‘x[‘,i:2,’] = ‘,x[i]:0:1,’   y[‘,i,’] = ‘,y[i]:0:4);

  readln;

end

Приложение В

(обязательное)

Листинг программы, реализующий метод  Адамса для задачи Коши:

Program Adams

USES CRT;

VAR a,b,h,k1,k2,k3,k4: real;

    i,k:integer;

    t:text;

    y: array [0..1] of real;

    x: array [0..1] of real;

function f(x1:real):real;

begin

f=2*y+x; //F(x)=2*y+x end;

begin

clrscr;

assign(t,’1.txt’);

h:=0.1; //шаг

x[0]:=0; //начало интервала и нач. условие х

b:=1; //конец интервала

y[0]:=1; //нач. условие y

rewrite(t);

for k:=0 to 3 do begin

k1:=h*f(x[k]);

k2:=h*f(x[k]+h/2);

k3:=h*f(x[k]+h/2);

k4:=h*f(x[k]+h);

y[k+1]:=y[k]+(k1+2*k2+2*k3+k4)/6;

x[k+1]:=x[k]+h;

writeln(x[k]:4:2,’ ‘,y[k]:4:4);

writeln(t,x[k]:4:1,’ ‘,y[k]:4:4);

end;

for k:=4 to 100 do begin

if (x[k]>=(b+h/2)) then break;

y[k+1]:=y[k]+(h/24)*(55*f(x[k])-59*f(x[k-1])+37*f(x[k-2])-9*f(x[k-3]));

writeln(x[k]:4:2,’ ‘,y[k]:4:4);

writeln(t,x[k]:4:1,’ ‘,y[k]:4:4);

x[k+1]:=x[k]+h;

end;

close(t);    END.

 Приложение  Г

  (обязательное)

Листинг программы, реализующий метод  Эйлера для задачи Коши:

Program Euler;

Uses crt;

Var (x1, y1: real): real;

Begin f:=y*cosx;

End;

Begin

Clr scr;

Writeln (‘введите через пробел нач. значения x и у:’);

Readln (x,y);

Writeln (‘введите величину шага интегрирования:’);

Readln (h);

Writeln (‘ введите абсциссу правого конца отрезка:’);

Readln (b);

Writeln (‘таблица значений искомой функции:’);

Writeln (‘x’,’y’);

Repeat

Writeln (x:3:1,’’,y:4:2);

Y:= y+h*f(x,y);

X:= x+h;

Until x:=nb+h/2;

Repeat until keypressed

End.

Приложение  Д

(обязательное)

Листинг программы, реализующий метод  Рунге- Кутта для задачи Коши:

Program Rung_kytt;

Uses crt;

var

  k1,k2,k3,k4,x,y: array [0..n] of real;

  h: real;

  i: integer;

 

function f(x,y: real): real;

begin

 f:=y*cosx;

end;

begin

  h:=п/4;

  y[-п/2]:=1;

  for i:=0 to n do

    x[i] :=i*h;

 

  for i:=0 to n-1 do

  begin

    k1[i]:=f(x[i],y[i]);

    k2[i]:=f(x[i]+h/2,y[i]+h*k1[i]/2);

    k3[i]:=f(x[i]+h/2,y[i]+h*k2[i]/2);

    k4[i]:=f(x[i]+h,y[i]+h*k3[i]);

 

    y[i+1]:=y[i]+h/6*(k1[i]+2*k2[i]+2*k3[i]+k4[i]);

  end;

 

  for i := 0 to n do

    writeln(‘x[‘,i:2,’] = ‘,x[i]:0:1,’   y[‘,i,’] = ‘,y[i]:0:4);

  readln;

end

Приложение  Д

(обязательное)

Листинг программы, реализующий метод  Адамса для задачи Коши:

Program Adams

USES CRT;

VAR a,b,h,k1,k2,k3,k4: real;

    i,k:integer;

    t:text;

    y: array [-п/2.. п/2] of real;

    x: array [-п/2.. п/2] of real;

function f(x1:real):real;

begin

f:=y*cosx; //F(x)= y*cosx end;

BEGIN

clrscr;

assign(t,’1.txt’);

h:=п/4; //шаг

x[-п/2]:=1; //начало интервала и нач. условие х

b:= п/2; //конец интервала

y[-п/2]:=1; //нач. условие y

rewrite(t);

for k:=0 to 3 do begin

k1:=h*f(x[k]);

k2:=h*f(x[k]+h/2);

k3:=h*f(x[k]+h/2);

k4:=h*f(x[k]+h);

y[k+1]:=y[k]+(k1+2*k2+2*k3+k4)/6;

x[k+1]:=x[k]+h;

writeln(x[k]:4:2,’ ‘,y[k]:4:4);

writeln(t,x[k]:4:1,’ ‘,y[k]:4:4);

end;

for k:=4 to 100 do begin

if (x[k]>=(b+h/2)) then break;

y[k+1]:=y[k]+(h/24)*(55*f(x[k])-59*f(x[k-1])+37*f(x[k-2])-9*f(x[k-3]));

writeln(x[k]:4:2,’ ‘,y[k]:4:4);

writeln(t,x[k]:4:1,’ ‘,y[k]:4:4);

x[k+1]:=x[k]+h;

end;

close(t);  END.

Приложение  Е

(обязательное)

Листинг программы, реализующий метод  Эйлера для задачи Коши:

        

Program Euler;

Uses crt;

Var (x1, y1: real): real;

Begin f:=x^2/y^2;

End;

Begin

Clr scr;

Writeln (‘введите через пробел нач. значения x и у:’);

Readln (x,y);

Writeln (‘введите величину шага интегрирования:’);

Readln (h);

Writeln (‘ введите абсциссу правого конца отрезка:’);

Readln (b);

Writeln (‘таблица значений искомой функции:’);

Writeln (‘x’,’y’);

Repeat

Writeln (x:3:1,’’,y:4:2);

Y:= y+h*f(x,y);

X:= x+h;

Until x:=nb+h/2;

Repeat until keypressed

End.

Приложение  Ж

(обязательное)

Листинг программы, реализующий метод  Рунге- Кутта для задачи Коши:

        

Program Rung_kytt;

Uses crt;

var

  k1,k2,k3,k4,x,y: array [0..n] of real;

  h: real;

  i: integer;

 

function f(x,y: real): real;

begin

 f:= x^2/y^2;

end;

begin

  h:=0.1;

  y[0]:=1;

  for i:=0 to n do

    x[i] :=i*h;

 

  for i:=0 to n-1 do

  begin

    k1[i]:=f(x[i],y[i]);

    k2[i]:=f(x[i]+h/2,y[i]+h*k1[i]/2);

    k3[i]:=f(x[i]+h/2,y[i]+h*k2[i]/2);

    k4[i]:=f(x[i]+h,y[i]+h*k3[i]);

 

    y[i+1]:=y[i]+h/6*(k1[i]+2*k2[i]+2*k3[i]+k4[i]);

  end;

 

  for i := 0 to n do

    writeln(‘x[‘,i:2,’] = ‘,x[i]:0:1,’   y[‘,i,’] = ‘,y[i]:0:4);

  readln;

end

Приложение  З

(обязательное)

Листинг программы, реализующий метод  Адамса для задачи Коши:

        

Program Adams

USES CRT;

VAR a,b,h,k1,k2,k3,k4: real;

    i,k:integer;

    t:text;

    y: array [0..1] of real;

    x: array [0..1] of real;

function f(x1:real):real;

begin

f:= x^2/y^2; //F(x)= x^2/y^2  end;

BEGIN

clrscr;

assign(t,’1.txt’);

h:=0.1; //шаг

x[0]:=1; //начало интервала и нач. условие х

b:=1; //конец интервала

y[0]:=1; //нач. условие y

rewrite(t);

for k:=0 to 3 do begin

k1:=h*f(x[k]);

k2:=h*f(x[k]+h/2);

k3:=h*f(x[k]+h/2);

k4:=h*f(x[k]+h);

y[k+1]:=y[k]+(k1+2*k2+2*k3+k4)/6;

x[k+1]:=x[k]+h;

writeln(x[k]:4:2,’ ‘,y[k]:4:4);

writeln(t,x[k]:4:1,’ ‘,y[k]:4:4);

end;

for k:=4 to 100 do begin

if (x[k]>=(b+h/2)) then break;

y[k+1]:=y[k]+(h/24)*(55*f(x[k])-59*f(x[k-1])+37*f(x[k-2])-9*f(x[k-3]));

writeln(x[k]:4:2,’ ‘,y[k]:4:4);

writeln(t,x[k]:4:1,’ ‘,y[k]:4:4);

x[k+1]:=x[k]+h;

end;

close(t);  END.


По теме: методические разработки, презентации и конспекты

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

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

Доклад на педагогическом совете "Роль внеклассной работы в работе с трудными детьми.Из опыта работы."

Доклад на педагогическом совете "Роль внеклассной работы в работе с трудными детьми.Из опыта работы."...

Работа с одаренными детьми. Формы и методы работы с одарёнными детьми. (из опыта работы)

Одарённость — это системное, развивающееся в течение жизни качество психики, которое определяет возможность достижения человеком более высоких, незаурядных результатов в одном или нескольких видах дея...

2 класс Тема урока: «Учимся проверять буквы безударных гласных в корне слова» Тип урока: урок «открытия» нового знания Формы работы: фронтальная, самостоятельная работа, самопроверка, работа в парах, работа в группах Место данного урока в системе уроков п

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