Здавалка
Главная | Обратная связь

Основные теоретические положения



Решить дифференциальное уравнение y' = f(x, y) численным методом –значит для заданной последовательности аргументов x0, x1, …, xn и числа y0, не определяя функцию y = F(x), найти такие значения у1, у2, …, yn, что yi = F(xi) (i = 1, 2, …, n) и F(x0) = y0. Другими словами, численные методы позволяют вместо нахождения функции y = F(x), получить таблицу значений этой функции для заданной последовательности аргументов. Величина h = xkxk-1 называется шагом интегрирования.

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

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

 

y' = f(x, y) (1)

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

x = x0, у(x0) = y0.

 

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

 

Разобьем отрезок [a, b] на n равных частей и получим последовательность x0, x1, …, xn, где xi = x0 + i·h (i = 1, 2, …, n), а h = (ba)/n – шаг сетки. Величина h = ∆ xm = xm+1 - xi обычно выбирается постоянной и достаточно малой. При численном решении задачи вычисляются приближенные значения yi (xi) ≈ yi в узлах сетки xi (i = 1, 2, …, n).

Идея метода состоит в том, что при малом шаге сетки h производная искомой функции y'(xi)может быть приближенно заменена конечными разностями

 

(2)

где yi – значение функции в узле xi.

Тогда y'(xi)∙h = yi+1 - yi, отсюда yi+1 = yi+ y'(xi)∙h, а, так как y'(xi) = f(xi, yi), то

 

yi+1 = yi + h·f(xi,yi). (3)

 

Т.е. на каждом отрезке [xi, xi+1] выражение (1) можно заменить приближенным выражением (3).

Зная начальное значение y0, и используя соотношение (3), можно последовательно от узла xi к узлу xi+1 определить все искомые значения yi+1.

На практике, как правило, применяют «двойной просчет». Сначала расчет ведется с шагом h, затем шаг дробят и повторный расчет ведется с шагом h/2 и

т.д.

Для достижения требуемой точности ε численного решения необходимо выполнение условия: |y2n - yn| < ε.

 

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

с начальными условиями x0 = 0, y0 = 1, выбрав шаг h = 0,2.

 

Решение.

Результаты вычислений представим в таблице Excel (рис.1). Заполняется она следующим образом:

1) В первую строку, соответствующую значению i = 0, запишем начальные условия: x0 = 0, y0 = 1. По ним вычислим значение f(x0, y0):

а затем значение ∆y0. Из (2) и (1) имеем

 

y0 = y'(x0)∙ ∆x0 = y'(x0)∙h = f(x0, y0) ∙h,

 

следовательно, ∆y0 = h∙f(x0, y0) = 0,2∙1 = 0,2. Отсюда по формуле (3) для i = 0 получим

y1 = y0 + h∙f(x0, y0) = y0+ ∆y0 = 1 + 0,2 = 1,2.

 

2) Значение x1 = x0 + h = 0 + 0,2 = 0,2 и соответствующее ему значение y1 =1,2 запишем во вторую строку таблицы, соответствующую i = 1.

Для x1 = 0,2 и y1 = 1,2 вычислим f(x1, y1).

 

 

Затем вычислим ∆y1 = h∙f(x1, y1) = 0,2∙0,8667 = 0,1733.

 

Тогда по формуле (3) для i = 1 получим

y2 = y1 + h∙f(x1, y1) = y1+ ∆y1 = 1,2 + 0,1733 = 1, 3733.

 

3) Значения x2 = x1 + h = 0,2 + 0,2 = 0,4 и соответствующее ему значение y2 =1,3733 запишем в третью строку таблицы (i = 2).

 

Аналогично следует выполнить вычисления для i = 2, 3, 4, 5 (см. рис. 1).●○

 

 

Режим формул

 

Режим решения

Рис. 1

 

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

 

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

 

y'' = f(x, y, y') (4)

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

x = x0, у(x0) = y0, у'(x0) = y'0.

 

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

 

С помощью подстановки y' = z, y'' = z' заменим уравнение (4) системой уравнений

и (5)

 

 

Таким образом, f1(x, y, z) = z, f2(x, y, z) = f(x, y, z) и задачу можно записать в общем виде:

и (6)

 

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

 

Пример 2. ○Используя метод Эйлера, составить на отрезке [1; 1,5] таблицу значений решения дифференциального уравнения

(7)

с начальными условиями y = 0,77, y' = -0,44 и выбрав шаг h = 0,1.

 

Решение. С помощью подстановки y' = z, y'' = z' заменим уравнение (7) системой уравнений

y' = z,

с начальными условиями y0(1) = 0,77 и z0 = -0,44.

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

f1(x, y, z) = z, f2(x, y, z) =

 

Результаты вычислений по формулам (6) запишем в таблице Excel (рис. 2). Заполняется она следующим образом:

в первую строку i = 0 запишем начальные условия: x0 = 1,0, y0 = 0,77, z0 = -0,44.

 

Используя их, вычислим

f10(x0, y0, z0) = z0 = -0,44,

 

f20(x0, y0, z0) =

а затем

 

y0 = h∙f10 = 0,1∙(-0,44) = -0,044, y1 = y0 + ∆y1 = 0,77 + (-0,044) = 0,726,

 

z0 = h∙f20 = 0,1∙(-0,33) = -0,033, z1 = z0 + ∆z1 = -0,44 + (-0,033) = -0,473.

 

Таким образом, во вторую строку таблицы, соответствующую i = 1, можно записать:

y1 = 0,726, z1 = -0,473.

 

По этим значениям можно вычислить

 

f11(x1, y1, z1) = z1 = -0,473,

 

f21(x1, y1, z1) =

а затем

 

y1 = h∙f11 = 0,1∙(-0,473) = -0,047, y2 = y1 + ∆y1 = 0,726 + (-0,047) = 0,679,

 

z1 = h∙f21 = 0,1∙(-0,296) = -0,030, z2 = z1 + ∆z1 = -0,473 + (-0,030) =-0,503.

 

Аналогично следует выполнять вычисления для i = 2, 3, 4, 5 (см. рис. 2).●

Режим формул

 

 

Режим решения

Рис. 2

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.