Метод эйлера для уравнения первого порядка. Дифференциальное уравнение эйлера и методы его решения

Введение

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

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

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

Исторически первым и наиболее простым способом численного решения задачи Коши дляОДУ первого порядка является метод Эйлера. В его основе лежит аппроксимация производной отношением конечных приращений зависимой (y) и независимой (x) переменных между узлами равномерной сетки:

где y i+1 это искомое значение функции в точке x i+1 .

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

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

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

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

1. Теоретическая часть

Численное дифференцирование

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

    Обыкновенные дифференциальные уравнения (ОДУ)

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

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

независимая переменная

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

Простейшим (линейным) ОДУ является уравнение (1) порядка разрешенное относительно производной

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

Основная задача, связанная с линейной ОДУ известно как задача Каши:

Найти решение уравнения (2) в виде функции удовлетворяющий начальному условию (3)

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

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

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

Пусть дано уравнение (2) с начальным условием тоесть поставлена задача Каши. Решим вначале следующую задачу. Найти простейшим способом приближенное значение решения в некоторой точке где -достаточно малый шаг. Уравнение (2) совместно с начальным условием (3) задают направление касательной искомой интегральной кривой в точке с координатами

Уравнение касательной имеет вид

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

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

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

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

Получение таблицы значений искомой функции

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

Рисунок 1. Графическая интерпретация метода Эйлера

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

1.1 Усовершенствованный метод Эйлера

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

А формула (5) получает вид

Формула (7) применена только для , следовательно, значения по ней получить нельзя, поэтому находят по методу Эйлера, при этом для получения более точного результата поступают так: с начало по формуле (5) находят значение

(8)

В точке а затем находится по формуле (7) с шагом

(9)

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

Пусть нам известна входная динамическая последовательность X (входной сигнал) и модель (способ преобразования входного сигнала в выходной сигнал). Рассматривается задача определения выходного сигнала y (t ) (см. рис. 10.1 ).

Модель динамической системы может быть представлена дифференциальным уравнением. Основное уравнение динамики:

y " = f (x (t ), y (t ), t ) .

Известны начальные условия в нулевой момент времени t 0 : y (t 0) , x (t 0) . Чтобы определить выходной сигнал, заметим, что по определению производной:

Нам известно положение системы в точке «1», требуется определить положение системы в точке «2». Точки отделены друг от друга расстоянием Δt (рис. 10.2 ). То есть расчет поведения системы производится по шагам. Из точки «1» мы скачком (дискретно) переходим в точку «2», расстояние между точками по оси t называется шагом расчета Δt .

Рис. 10.2. Иллюстрация расчета будущего состояния системы
методом Эйлера на одном шаге

Последняя формула называется формулой Эйлера .

Очевидно, чтобы узнать состояние системы в будущем y (t + Δt ) , надо к настоящему состоянию системы y (t ) прибавить изменение Δy , прошедшее за время Δt .

Рассмотрим еще раз это важное соотношение, выведя его из геометрических соображений (рис. 10.3 ).

Рис. 10.3. Геометрическая иллюстрация метода Эйлера

Пусть A — точка, в которой состояние системы известно. Это «настоящее» состояние системы.

В точке A к траектории движения системы проведем касательную. Касательная — это производная функции f (x (t ), y (t ), t ) по переменной t . Производную в точке всегда легко вычислить, достаточно подставить известные переменные (в момент «Настоящее» они известны) в формулу y " = f (x (t ), y (t ), t ) .

Заметим, что, по определению, производная связана с углом наклона касательной: y " = tg(α ) , значит, угол α легко вычислить (α = arctg(y " ) ) и провести касательную.

Проведем касательную до пересечения с линией t + Δt . Момент t + Δt соответствует «будущему» состоянию системы. Проведем линию параллельно оси t от точки A до пересечения с линией t + Δt . Линии образуют прямоугольный треугольник ABC, один катет которого равен Δt (известен). Известен также угол α . Тогда второй катет в прямоугольном треугольнике ABC равен: a = Δt · tg(α ) . Теперь легко вычислить ординату точки B. Она состоит из двух отрезков — y (t ) и a . Ордината символизирует положение системы в точке y (t + Δt ) . То есть y (t + Δt ) = y (t ) + a или далее y (t + Δt ) = y (t ) + Δt · tg(α ) или, подставляя дальше, имеем: y (t + Δt ) = y (t ) + Δt · y " и, наконец, y (t + Δt ) = y (t ) + Δt · f (x (t ), y (t ), t ) . Снова мы получили формулу Эйлера (из геометрических соображений).

Эта формула может дать точные результаты только при очень малых Δt (говорят при Δt –> 0 ). При Δt ≠0 формула дает расхождение между истинным значением y и расчетным, равное ε , поэтому в ней должен стоять знак приближенного равенства, либо она должна быть записана так:

y (t + Δt ) = y (t ) + Δt · f (x (t ), y (t ), t ) + ε .

И в самом деле. Взгляните еще раз на рис. 10.3 . Будем мысленно сдвигать линию t + Δt влево (фактически, будем приближать значение Δt к нулю). Как нетрудно видеть, расстояние BB * = ε , — то есть ошибка! — будет сокращаться. В пределе (при Δt –> 0 ) значение ошибки ε будет равно нулю.

Итак, заменяя реальную кривую прямой (касательной) на отрезке Δt , мы вносим в решение ошибку, попадая в результате не в точку «2» (см. рис. 10.2 ), а рядом, в точку «3». Очевидно, что этот численный метод на каждом шаге имеет погрешность расчета ε .

Из рисунка видно, что чем меньше взять величину Δt , тем меньше будет ошибка расчета ε . То есть для расчета поведения системы на сколько-нибудь продолжительном отрезке времени (например, от t 0 до t k ), чтобы уменьшить ошибку на каждом шаге, шаги Δt делают по возможности малыми. Для достижения точки t k отрезок (t k – t 0) делится на отрезки длиной Δt ; таким образом, всего получится N = (t k – t 0)/Δt шагов. В результате расчета придется формулу Эйлера применить для каждого шага, то есть N раз. Но следует иметь в виду, что ошибки ε i на каждом i -ом шаге (в простейшем случае) складываются, а общая ошибка быстро накапливается (см. рис. 10.4 ). И в этом состоит существенный недостаток данного метода. Хотя с помощью этого метода можно получить (в численном виде) решение любого дифференциального уравнения (в том числе и неразрешимого аналитически). Уменьшая шаг, мы получаем более точные решения, но при этом не следует забывать, что увеличение числа шагов ведет к вычислительным затратам и снижению быстродействия. Кроме того, при большом числе итераций в расчет вносится другая существенная погрешность из-за ограниченной точности вычислительных машин и ошибок округления.

Рис. 10.4. Нарастание суммарной ошибки в методе Эйлера на ряде шагов

Задача 1 . Дано дифференциальное уравнение y " = 2t y . Задано начальное положение системы: y (0) = 1 . Требуется найти y (t ) , то есть поведение системы на интервале времени t от 0 до 1.

Аналитический способ решения задачи 1

y " = 2t y .

Методом разделения переменных найдем:

y " /y = 2t

Будем интегрировать от 0 до t i , тогда согласно правилам интегрирования имеем:

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

Численный способ решения задачи 1

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

При алгоритмической реализации расчет реализуется циклом, в котором изменяется t (счетчик t ) и y :

Блок-схема при реализации метода на компьютере показана на рис. 10.5 .

Рис. 10.5. Блок-схема реализации метода Эйлера

В реализации Стратум запись будет выглядеть так (наличие символа «~» при t ):

Будем искать значение y рассмотренного ранее примера в численном виде на промежутке от T = 0 до T = 1 . Возьмем число шагов n = 10 , тогда шаг приращения Δt составит: Δt = (1 – 0)/n = (1 – 0)/10 = 0.1 .

Таблица 10.1.
Численный расчет уравнения методом Эйлера
и сравнение результата с точным решением на каждом шаге
i t i y i = y i – 1 + y" i – 1 · Δt y" i = 2t i · y i Δy i = y" i · Δt y i + 1 = y i + Δy i y точн. = exp(t i 2)
0 0.0 1 0 0 1 1
1 0.1 1 0.2 0.02 1.02 1.0101
2 0.2 1.02 0.408 0.0408 1.0608 1.0408
3 0.3 1.061 0.636 0.0636 1.1246 1.0942
4 0.4 1.124 0.900 0.0900 1.2140 1.1735
5 0.5 1.214 1.214 0.1214 1.3354 1.2840
6 0.6 1.336 1.603 0.1603 1.4963 1.4333
7 0.7 1.496 2.095 0.2095 1.7055 1.6323
8 0.8 1.706 2.729 0.2729 1.9789 1.8965
9 0.9 1.979 3.561 0.3561 2.3351 2.2479
10 1.0 2.335 4.669 0.4669 2.8019 2.7183

Обратите внимание на то, что рассчитанное численно значение (y i + 1 ) отличается от точного (y точн. ), и погрешность (разница столбцов y i + 1 и y точн. ) в процессе расчета нарастает подобно тому, как было показано на рис. 10.4 .

Теперь подсчитаем относительную погрешность σ для расчетного значения y (1) , полученного численно, в сравнении с теоретическим точным y теор. по следующей формуле:

σ = (1 – y расч. /y теор.) · 100%

и сравним σ при различных значениях Δt .

Если будем менять значение шага Δt , например, уменьшать шаг, то относительная погрешность расчета тоже будет уменьшаться. Вот что получится при вычислении значения y (1) с разными значениями шага (см. табл. 10.2).

Таблица 10.2.
Зависимость погрешности
расчета от размера шага Δt
Δt y расч. (1) y теор. (1) σ
1/10 2.3346 2.7183 14%
1/20 2.5107 2.7183 8%
1/100 2.6738 2.7183 2%

Как видим, с уменьшением шага приращения Δt уменьшается величина относительной погрешности, а значит, повышается точность расчета.

Обратите внимание, что изменение шага в 10 раз (с 1/10 до 1/100) ведет к изменению величины ошибки примерно тоже в 10 раз (с 14% до 2%). При изменении шага в 100 раз ошибка примерно уменьшится тоже в 100 раз. Иными словами размер шага и ошибка для метода Эйлера связаны линейно. Хотите уменьшить в 10 раз ошибку — уменьшайте в 10 раз шаг и увеличивайте соответственно в 10 раз количество вычислений. Этот факт в математике принято обозначать символом ε = O t ) , а метод Эйлера называют методом первого порядка точности.

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

Примечания

  1. Каждый численный метод обладает точностью, поскольку результат отличается от теоретического. Точность метода зависит от величины шага. Различные методы имеют различную точность. Порядок зависимости точности от величины шага обозначают как O (h ) . У метода Эйлера первый порядок точности, зависимость ошибки от величины шага линейна.
  2. Если при уменьшении шага предел y n стремится к значению y теор. , то говорят, что метод обладает сходимостью. Исследователей интересует скорость сходимости метода.
  3. Метод должен быть устойчив. Устойчивость связана с некоторой критической величиной шага. При проявлении неустойчивости наблюдается полное искажение качественной картины расчета, «разболтка» результата.
  4. При выборе метода рекомендуется сначала добиться устойчивости, а внутри области устойчивости — сходимости результата. Устойчивость обеспечивает качественную картину. Сходимость обеспечивает количественный результат (см. также рис. 10.10 ).

Изложенное в пп. 1-4 поясним на примере.

Пример . Пусть

Качественно это уравнения описывают процесс теплообмена между двумя телами, температуры которых в некоторый момент времени обозначим как A и B . Вообще A и B — переменные, меняющиеся во времени t . Найти поведение системы означает, что надо найти, как будут меняться температуры A (t ) и B (t ) .

Интуитивно ясно, что при начальной разнице температур A = 8 и B = 5 температуры тел постепенно со временем должны выровняться, так как более горячее тело будет отдавать энергию более холодному, и его температура будет уменьшаться, а более холодное тело будет принимать энергию от более горячего, и его температура будет увеличиваться. Процесс теплообмена закончится (то есть изменения прекратятся) тогда, когда температуры двух тел станут одинаковыми.

Проведем несколько расчетов поведения A (t ) и B (t ) с разной величиной шага Δt .

Будем брать различную величину шага Δt и находить соответствующие значения A и B во времени по следующим формулам Эйлера:

A нов. = A пред. + (B пред. – A пред.) · Δt ,
B нов. = B пред. + (A пред. – B пред.) · Δt .

Расчет при Δt = 2 (табл. 10.3).

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

Рис. 10.6. Система ведет себя качественно
неверно. Решение неустойчиво

Расчет при Δt = 1 (табл. 10.4).

Таблица 10.4.
Изменение температур
тел при численном
расчете с шагом 1

шага
t A B
0 0 8 5
1 1 5 8
2 2 8 5

Наблюдается поведение решения системы на границе устойчивости (см. рис. 10.7 ).

Рис. 10.7. Система ведет себя качественно
неверно. Решение находится на грани устойчивости

Расчет при Δt = 0.5 (табл. 10.5).

Таблица 10.5.
Изменение температур
тел при численном
расчете с шагом 0.5

шага
t A B
0 0 8 5
1 0.5 6.5 6.5
2 1.0 6.5 6.5

Решение устойчиво, соответствует правильной качественной картине (см. рис. 10.8 ). Температуры тел постепенно сближаются, становятся со временем одинаковыми. Но решение пока имеет большую погрешность.

Рис. 10.8. Система ведет себя качественно правильно.
Решение (поведение системы) имеет большую погрешность

Расчет при Δt = 0.1 (табл. 10.6).

Таблица 10.6.
Изменение температур
тел при численном
расчете с шагом 0.1

шага
t A B
0 0 8 5
1 0.1 7.7 5.3
2 0.2 7.46 5.54
3 0.3 7.27 5.73
4 0.4 7.12 5.88
5 0.5 7.00 6.00

Решение устойчиво. Решение более точно (см. рис. 10.9 ).

Рис. 10.9. Система ведет себя качественно верно.
Количественно решение более точно

Роль изменения величины шага иллюстрирует рис. 10.10 .

Рис. 10.10. Связь величины шага расчета с устойчивостью метода и его точностью (на примере)

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

Содержание

Дифференциальное уравнение Эйлера - это уравнение вида
a 0 x n y (n) + a 1 x n-1 y (n-1) + ... + a n-1 xy′ + a n y = f(x) .

В более общем виде уравнение Эйлера имеет вид:
.
Это уравнение подстановкой t = ax+b приводится к более простому виду, которое мы и будем рассматривать.

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

Рассмотрим уравнение Эйлера:
(1) .
Оно сводится к линейному уравнению с постоянными коэффициентами подстановкой:
x = e t .
Действительно, тогда
;
;
;

;
;
..........................

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

Решение однородного уравнения Эйлера

Рассмотрим однородное уравнение Эйлера:
(2) .
Ищем решение уравнения (2) в виде
.
;
;
........................
.
Подставляем в (2) и сокращаем на x k . Получаем характеристическое уравнение:
.
Решаем его и получаем n корней, которые могут быть комплексными.

Рассмотрим действительные корни. Пусть k i - кратный корень кратности m . Этим m корням соответствуют m линейно независимых решений:
.

Рассмотрим комплексные корни. Они появляются парами вместе с комплексно сопряженными. Пусть k i - кратный корень кратности m . Выразим комплексный корень k i через действительную и мнимую части:
.
Этим m корням и m комплексно сопряженным корням соответствуют 2 m линейно независимых решений:
;
;
..............................
.

После того как получены n линейно независимых решений, получаем общее решение уравнения (2):
(3) .

Примеры

Решить уравнения:


Решение примеров > > >

Решение неоднородного уравнения Эйлера

Рассмотрим неоднородное уравнение Эйлера:
.
Метод вариации постоянных (метод Лагранжа) также применим и к уравнениям Эйлера.

Сначала мы решаем однородное уравнение (2) и получаем его общее решение (3). Затем считаем постоянные функциями от переменной x . Дифференцируем (3) n - 1 раз. Получаем выражения для n - 1 производных y по x . При каждом дифференцировании члены, содержащие производные приравниваем к нулю. Так получаем n - 1 уравнений, связывающих производные . Далее находим n -ю производную y . Подставляем полученные производные в (1) и получаем n -е уравнение, связывающее производные . Из этих уравнений определяем . После чего интегрируя, получаем общее решение уравнения (1).

Пример

Решить уравнение:

Решение > > >

Неоднородное уравнение Эйлера со специальной неоднородной частью

Если неоднородная часть имеет определенный вид, то получить общее решение проще, найдя частное решение неоднородного уравнения. К такому классу относятся уравнения вида:
(4)
,
где - многочлены от степеней и , соответственно.

В этом случае проще сделать подстановку
,
и решать

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

ОДУ можно записать в виде:

F x , y , y , y ,..., y

где x – независимая переменная,

y i - i -ая производная от

искомой функции, n – порядок уравнения. Общее решение ОДУ n -го порядка содержит n произвольных постоянных

c 1 , c 2 ,..., c n , т.е. общее решение имеет вид y x , c 1 , c 2 ,..., c n . Для выделения единственного решения необходимо задать n дополнительных условий. В зависимости от способа задания

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

Ясно, что при n 1 можно говорить только о задачи Коши. Примеры постановки задачи Коши:

dy x 2 y 3

y 1 1;

d 2 y dy

y 1 1,

dx 2 dx xy ,

y 1 0 .

Примеры краевых задач:

d 2 y

y sin x ,

y 0 1,

y 1 0

dx 2

d 3 y

d 2 y

y 1 0,

y 3 2 .

x x dx 2

dx ,

y 1 0,

Решить такие

аналитически удается лишь для

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

Приближенные методы решения задачи Коши для ОДУ первого порядка

Требуется найти решение y (x ) ОДУ первого порядка

f x, y

на отрезке x 0 , x n при условии

y x0 y0 .

Приближенное решение будем искать в узлах расчетной

xi x0 ih,

i 0,1,..., n с

xn x0

Необходимо найти

приближенные

значения в

узлах сетки

y i =y (x i ). Результаты расчетов занесем в таблицу

Интегрируя

уравнение на

отрезке x i , x i

1 , получим

x i 1

y i 1

yi f x, y dx .

Для того, чтобы найти все значения y i , нужно каким-то образом

вычислить интеграл, стоящий в правой части (5.4). Применяя различные квадратурные формулы, будем получать методы решения задачи (5.2), (5.3) разного порядка точности.

Метод Эйлера

Если для вычисления интеграла в (5.4) воспользоваться простейшей формулой левых прямоугольников первого порядка

Явный метод Эйлера имеет первый порядок аппроксимации. Реализация метода. Поскольку x 0 , y 0 , f x 0 , y 0

известны, применяя (5.5) последовательно, определим все y i : y 1 y 0 hf x 0 , y 0 , y 2 y 1 hf x 1 , y 1 , ….

Геометрическая

интерпретация

(рис. 5.1.):

Пользуясь тем, что в точке x 0 известно решение y x 0 y 0

и значение его производной y x 0 dy

f x0 , y0 ,

x x0

записать уравнение касательной к графику искомой функции

f x0 , y0

y y0

f x0 , y0 x x0 .

достаточно

шаге h

ордината

y1 y0 hf x0 , y0

касательной, полученная подстановкой в правую часть значения x 1 x 0 h , должна мало отличаться от ординаты y x 1 решения

y x задачи Коши. Следовательно, точка x 1 , y 1 пересечения касательной с прямой x x 1 может быть приближенно принята

за новую начальную точку. Через эту точку снова проведем

прямую y y 1 f x 1 , y 1 x x 1 ,

которая приближенно отражает

поведение касательной к y x

использовать

x i 1

прямоугольников:

f x, y dx hf xi 1 , yi 1 , то

неявный метод Эйлера

y i 1

y i hf x i 1 , y i 1 , i 0,1,..., n 1.

Этот метод называют неявным, поскольку для вычисления

неизвестного

значения

yi 1 y xi 1 по

известному

значению

требуется решать уравнение, в общем случае

нелинейное. Неявный метод Эйлера также имеет первый порядок аппроксимации.

Модифицированный метод Эйлера

В данном методе вычисление y i 1 состоит из двух этапов:

~ y i 1 y i hf x i , y i ,

y i 1

f xi , yi f xi 1 , yi 1

Данная схема называется также методом предикторкорректор. Это английское название, означающее «предсказатьисправить». Действительно, на первом этапе приближенное значение предсказывается с первым порядком точности, а на

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

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

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

x = x 0 , y (x 0 )= y 0 (3.2)

Требуется найти решение уравнения на отрезке [а , b ].

Разобьем отрезок [a , b ] на n равных частей и получим последовательность х 0 , х 1 , х 2 ,…, х n , где x i = x 0 + ih (i =0,1,…, n ), а h =(b - a )/ n − шаг интегрирования.

В методе Эйлера приближенные значения у(х i +1 ) y i +1 вычисляются последовательно по формулам:

y i+1 = у i +hf(x i , y i ) (i=0,1,2…) (3.3)

При этом искомая интегральная кривая у=у(х) , проходящая через точку М 0 0 , у 0 ), заменяется ломаной М 0 М 1 М 2 с вершинами М i (x i , y i ) (i =0,1,2,…); каждое звено М i M i +1 этой ломаной, называемой ломаной Эйлера, имеет направление, совпадающее с направлением той интегральной кривой уравнения (1), которая проходит через точку М i (см. рисунок 2):

Рисунок 2. Вид ломаной Эйлера

Модифицированный метод Эйлера более точен.Сначала вычисляются вспомогательные значения искомой функции у к+1/2 в точках х к+1/2 , затем находится значение правой части уравнения (3.1) в средней точке y k+1/2 =f( xk+1/2 , y k+1/2 ) и определяют у к+ :

Тогда:
(3.4)

Формулы (3.4) − рекуррентные формулы метода Эйлера.

Для оценки погрешности в точке х к проводят вычисления у к с шагом h , затем с шагом 2 h и берут 1/3 разницы этих значений:

,

где у(х) - точное решение дифференциального уравнения.

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

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

Методы Рунге-Кутта обладают следующими свойствами:

    Эти методы являются одноступенчатыми: чтобы найти у к+1  нужна информация о предыдущей точке (x к y к )

    Методы согласуются с рядом Тейлора вплоть до членов порядка h p  где степень р различна для различных методов и называется порядковым номером или порядком метода

    Они не требуют вычисления производных от f(x y)  а требуют вычисления самой функции

Алгоритм Рунге-Кутта третьего порядка:

(3.5)

Алгоритм Рунге-Кутта четвертого порядка:

(3.6)

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

3.3. Метод Адамса

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

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

Y k -1 , Y k -2 , Y k -3 …

Если используются значения в k предыдущих узлах, то говорят о k-шаговом методе интегрирования уравнения. Одним из способов построения многошаговых методов заключается в следующем. По значениям функции, вычисленным в k предшествующих узлах, строится интерполяционный полином степени (k-1) – L k -1 (x ) , который используется при интегрировании дифференциального уравнения по выражению:

Интеграл при этом выражается через квадратурную формулу:

где λ l – квадратурные коэффициенты.

Полученное таким образом семейство формул называется явной k -шаговой схемой Адамса . Как видно, при k =1 в качестве частного случая получается формула Эйлера.

Например, для формулы 4 порядка имеем:

(3.7)

y ( p ) k +1 – “прогноз” ,вычисленный с использованием значений в предыдущих точках, f ( p ) k +1 –приближенное значение функции,вычисленное в точке получения прогноза, y ( c ) k +1 – «коррекция» прогнозного значения, y k +1 – искомое значение по Адамсу.

Достоинство такого метода решения ДУ заключается в том, что в каждой точке рассчитывается только одно значение функции F(x,y). К недостаткам можно отнести невозможность старта многошагового метода из единственной начальной точки, так как для вычислений по k -шаговой формуле необходимо значение значения функции в k узлах. Поэтому приходится (k-1) решение в первых узлах x 1 , x 2 , …, x k-1 получать с помощью какого-либо одношагового метода, например метода Рунге-Кутта 4–го порядка.

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

4. Краткое описание программы на C++ и представление результатов ее выполнения