
Лабораторная работа №3
ПРИБЛИЖЕННОЕ РЕШЕНИЕ ЗАДАЧИ КОШИ МЕТОДОМ ЭЙЛЕРА
Теоретический минимум
1.1. Постановка задачи
Найти функцию у = у ( х ), удовлетворяющую дифференциальному уравнению
y
= f
( x,
y
), x
[ a,
b
],
и принимающую в точке х = а заданное значение уа : у ( а ) = уа .
Задача нахождения такой функции называется задачей Коши. Если функция f ( x, y ) и ее частная производная f y непрерывны при x [ a, b ] и всех у, то решение задачи Коши существует и единственно.
Как и в случае с интегрированием функции, не каждая задача Коши имеет решение, выражаемое через элементарные функции ( и даже через интегралы от элементарных функций ). И даже в случае, когда такое решение существует, часто поиск его из-за сложности функции f ( x, y ) вызывает определенные затруднения. Поэтому во многих практически важных случаях приходится находить приближенное решение задачи Коши. Методов приближенного решения задачи Коши, т.н. численных методов ее решения, достаточно много. В лабораторной работе рассматривается самый простой и наглядный из них – метод Эйлера.
1.2. Численный метод Эйлера
Пусть требуется найти приближенное решение дифференциального уравнения
=
f
(x,
y), (1)
удовлетворяющее начальному условию
у(х0) = у0. (2)
Будем предполагать, что в некотором прямоугольнике
D = { | x – x0 | ≤ A, | y – y0 | ≤ B } функция f (x, y) непрерывна и имеет непрерывные частные производные достаточно высокого порядка по всем аргументам, так что решение задачи Коши (1) – (2) существует, единственно и является функцией, дифференцируемой достаточное число раз.
Численное решение задачи (1) – (2) состоит в построении таблицы приближенных значений y1, y2, …, yn решения задачи в точках х1, х2, …, хn. Чаще всего точки х1, х2, …, хn выбирают равноотстоящими: хk = х0 + k ∙ h ( k = 0, 1, 2, … , n ). Здесь х0 = а,
хn
= b.
Точки хk
называют узлами
сетки,
величину h
=
– шагом
сетки.
Так как, по
определению, производная
есть предел разностного отношения
при h
→ 0, то, заменяя производную этим
отношением, вместо дифференциального
уравнения
(1) получим разностное уравнение (разностную схему Эйлера)
= f
(xk,
yk),
k
= 0, 1, 2, … , n ,
или
уk +1 = уk + h ∙ f (xk, yk), k = 0, 1, 2, … , n. (3)
Учитывая, что у0 = у(х0) – заданная величина, по рекуррентной формуле (3) последовательно находим значения уk = у(хk) во всех узлах сетки: по известным значениям х0 и у0 сначала вычисляется
у1 = у0 + h ∙ f (x0, y0).
Затем, зная х1 и у1, вычисляется
у2 = у1 + h ∙ f (x1, y1)
и т.д.
В результате вместо
точного решения у
= у(х)
находится функция у
k
= у(хk)
дискретного аргу-
мента хk (сеточная функция), даю-
щая приближенное решение задачи
(1) – (2).
Геометрически искомая
интегральная кривая у = у(х), прохо-
дящая через точку М0(х0, у0), заменя-
ется т.н. ломаной Эйлера
М0 М1 М2 … Мn с вершинами в точ-
ках Мk (хk, уk) (рис. 1). При этом, на Рис.1.
каждом элементарном участке [хk, xk +1] угловой коэффициент отрезка Мk Мk +1 ломаной Эйлера равен f (xk, yk). Это значит, что данный отрезок представляет собой отрезок касательной, проведенной к интегральной кривой уравнения (1), проходящей через точку Мk (хk, уk).
Метод Эйлера относится к группе одношаговых методов, в которых для вычисления точки Мk +1 (хk +1, уk +1) требуется знание только предыдущей вычисленной точки Мk (хk, уk).
Для оценки погрешности метода на одном шаге сетки разложим точное решение у = у(х) в окрестности точки х = хk по формуле Тейлора
y(ормуле Тейлора
ки
х = а одном шаге сетки разложим точное
решение
ки
х = а одном шаге сетки разложим точное
решение
ки
х = а одном шаге сетки разложим точное
решение
ки
х = а одном шаге сетки разложим точное
решение
ки
х = а одном шаге сетки разложим точное
решение
Сравнение формул (3) и (4) показывает, что они совпадают до членов первого порядка по h включительно, а погрешность формулы (4) равна O(h2). Поэтому говорят, что метод Эйлера имеет первый порядок точности.
Пример. Методом Эйлера для y= 2xy найти у(1), если у(0) = 1. Выбрать h = 0,1.
• Для расчетов составим таблицу
k |
xk |
yk = yk –1 + Δ yk –1 |
Δ yk = 2 xk yk ∙ h |
0 |
0 |
1 |
0 |
1 |
0,1 |
1 + 0 = 1 |
0,020 |
2 |
0,2 |
1 + 0,02 = 1,02 |
0,041 |
3 |
0,3 |
1,02 + 0,041 = 1,061 |
0,064 |
4 |
0,4 |
1,061 + 0,064 = 1,125 |
0,090 |
5 |
0,5 |
1,125 + 0,09 = 1,215 |
0,121 |
6 |
0,6 |
1,215 + 0,121 = 1,336 |
0,160 |
7 |
0,7 |
1,336 + 0,16 = 1,496 |
0,209 |
8 |
0,8 |
1,496 + 0,209 = 1,705 |
0,273 |
9 |
0,9 |
1,705 + 0,273 = 1,978 |
0,357 |
10 |
1 |
1,978 + 0,357 = 2,335 |
|
В результате из последней строки таблицы получаем
у(1) ≈ 2,335.
Аналитическое решение:
y
= 2xy
=>
=
2xy
=>
=
2x
dx
=> ln y
= x2
+ ln C
=> y
= C
.
Из начальных
условий имеем:
y(0)
= C
= С
= 1.
Таким образом,
точное
решение y
=
.
Значение
у(1)
= е
≈ 2,718.