Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Основные теоретические положения. Решить дифференциальное уравнение y' = f(x, y) численным методом –значит для заданной последовательности аргументов x0






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

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

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

 

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

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

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

 

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

 

Разобьем отрезок [ a, b ] на n равных частей и получим последовательность x 0, x 1, …, xn, где xi = x 0 + 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).

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

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

т.д.

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

 

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

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

 

Решение.

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

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

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

 

y 0 = y '(x 0)∙ ∆ x 0 = y' (x 0) ∙ h = f (x 0, y 0) ∙ h,

 

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

y 1 = y 0 + h∙ f (x 0, y 0) = y 0+ ∆ y 0 = 1 + 0, 2 = 1, 2.

 

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

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

 

 

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

 

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

y 2 = y 1 + h∙ f (x 1, y 1) = y 1+ ∆ y 1 = 1, 2 + 0, 1733 = 1, 3733.

 

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

 

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

 

 

Режим формул

 

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

Рис. 1

 

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

 

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

 

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

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

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

 

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

 

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

и (5)

 

 

Таким образом, f 1(x, y, z) = z, f 2(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,

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

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

f 1(x, y, z) = z, f 2(x, y, z) =

 

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

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

 

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

f 1 0(x 0, y 0, z 0) = z 0 = -0, 44,

 

f 2 0(x 0, y 0, z 0) =

а затем

 

y 0 = h∙ f 1 0 = 0, 1∙ (-0, 44) = -0, 044, y 1 = y 0 + ∆ y 1 = 0, 77 + (-0, 044) = 0, 726,

 

z 0 = h∙ f 2 0 = 0, 1∙ (-0, 33) = -0, 033, z 1 = z 0 + ∆ z 1 = -0, 44 + (-0, 033) = -0, 473.

 

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

y 1 = 0, 726, z 1 = -0, 473.

 

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

 

f 1 1(x 1, y 1, z 1) = z 1 = -0, 473,

 

f 2 1(x 1, y 1, z 1) =

а затем

 

y 1 = h∙ f 1 1 = 0, 1∙ (-0, 473) = -0, 047, y 2 = y 1 + ∆ y 1 = 0, 726 + (-0, 047) = 0, 679,

 

z 1 = h∙ f 2 1 = 0, 1∙ (-0, 296) = -0, 030, z 2 = z 1 + ∆ z 1 = -0, 473 + (-0, 030) =-0, 503.

 

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

Режим формул

 

 

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

Рис. 2

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.