Приближенное решение обыкновенных дифференциальных уравнений методом эйлера

Задачи с начальными условиями для систем обыкновенных дифференциальных уравнений

Рассмотрим задачу Коши для системы обыкновенных дифференциальных уравнений $$ \begin \tag <1>\frac &= f_i (t, u_1, u_2, \ldots, u_n), \quad t > 0\\ \tag <2>u_i(0) &= u_i^0, \quad i = 1, 2, \ldots, m. \end $$

Используя векторные обозначения, задачу (1), (2) можно записать как задачу Коши $$ \begin \tag <3>\frac> &= \pmb(t, \pmb), \quad t > 0, \\ \tag <4>\pmb(0) &= \pmb_0 \end $$ В задаче Коши необходимо по известному решению в точке \( t = 0 \) необходимо найти из уравнения (3) решение при других \( t \).

Численные методы решения задачи Коши

Существует большое количество методов численного решения задачи (3), (4). Вначале рассмотрим простейший явный метод Эйлера и его программную реализацию. Затем будут представлены методы Рунге—Кутта и многошаговые методы.

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

Идея численных методов решения задачи (3), (4) состоит из четырех частей:

1. Вводится расчетная сетка по переменной \( t \) (время) из \( N_t + 1 \) точки \( t_0 \), \( t_1 \), \( \ldots \), \( t_ \). Нужно найти значения неизвестной функции \( \pmb \) в узлах сетки \( t_n \). Обозначим через \( \pmb^n \) приближенное значение \( \pmb(t_n) \).

2. Предполагаем, что дифференциальное уравнение выполнено в узлах сетки.

3. Аппроксимируем производные конечными разностями.

4. Формулируем алгоритм, который вычисляет новые значения \( \pmb^ \) на основе предыдущих вычисленных значений \( \pmb^k \), \( k 0 \) при \( \tau\to 0 \).

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

Проиллюстрируем указанные шаги. Для начала введем расчетную сетку. Очень часто сетка является равномерной, т.е. имеет одинаковое расстояние между узлами \( t_n \) и \( t_ \): $$ \omega_\tau = \< t_n = n \tau, n = 0, 1, \ldots, N_t \>. $$

Затем, предполагаем, что уравнение выполнено в узлах сетки, т.е.: $$ \pmb^\prime (t_n) = \pmb(t_n, u(t_n)), \quad t_n \in \omega_\tau. $$

Заменяем производные конечными разностями. С этой целью, нам нужно знать конкретные формулы, как производные могут быть аппроксимированы конечными разностями. Простейший подход заключается в использовании определения производной: $$ \pmb^\prime(t) = \lim_ <\tau \to 0>\frac<\pmb(t+\tau) — \pmb(t)><\tau>. $$

В произвольном узле сетки \( t_n \) это определение можно переписать в виде: $$ \begin \pmb^\prime(t_n) = \lim_ <\tau \to 0>\frac<\pmb(t_n+\tau) — \pmb(t_n)><\tau>. \end $$ Вместо того, чтобы устремлять шаг сетки к нулю, мы можем использовать малый шаг \( \tau \), который даст численное приближение \( u^\prime(t_n) \): $$ \begin \pmb^\prime(t_n) \approx \frac<\pmb^ — \pmb^><\tau>. \end $$ Такая аппроксимация известна как разностная производная вперед и имеет первый порядок по \( \tau \), т.е. \( O(\tau) \). Теперь можно использовать аппроксимацию производной. Таким образом получим явный метод Эйлера: $$ \begin \tag <5>\frac<\pmb^ — \pmb^n> <\tau>= \pmb(t_n, \pmb^). \end $$

Четвертый шаг заключается в получении численного алгоритма. Из (5) следует, что мы должны знать значение \( y^n \) для того, чтобы решить уравнение (5) относительно \( y^ \) и получить формулу для нахождения приближенного значения искомой функции на следующем временном слое \( t_ \): $$ \begin \tag <6>\pmb^ = \pmb^n + \tau \pmb(t_n, \pmb^) \end $$

При условии, что у нас известно начальное значение \( \pmb^0 = \pmb_0 \), мы можем использовать (6) для нахождения решений на последующих временных слоях.

Программная реализация явного метода Эйлера

Выражение (6) может быть как скалярным так и векторным уравнением. И в скалярном и в векторном случае на языке Python его можно реализовать следующим образом

При решении системы (векторный случай), u[n] — одномерный массив numpy длины \( m+1 \) (\( m \) — размерность задачи), а функция F должна возвращать numpy -массив размерности \( m+1 \), t[n] — значение в момент времени \( t_n \).

Таким образом численное решение на отрезке \( [0, T] \) должно быть представлено двумерным массивом, инициализируемым нулями u = np.zeros((N_t+1, m+1)) . Первый индекс соответствует временному слою, а второй компоненте вектора решения на соответствующем временном слое. Использование только одного индекса, u[n] или, что то же самое, u[n, :] , соответствует всем компонентам вектора решения.

Функция euler решения системы уравнений реализована в файле euler.py:

Строка F_ = lambda . требует пояснений. Для пользователя, решающего систему ОДУ, удобно задавать функцию правой части в виде списка компонент. Можно, конечно, требовать чтобы пользователь возвращал из функции массив numpy , но очень легко осуществлять преобразование в самой функции решателе. Чтобы быть уверенным, что результат F будет нужным массивом, который можно использовать в векторных вычислениях, мы вводим новую функцию F_ , которая вызывает пользовательскую функцию F «прогоняет» результат через функцию assaray модуля numpy .

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

При построении неявного метода Эйлера значение функции \( F \) берется на новом временном слое, т.е. для решении задачи (5) используется следующий метод: $$ \begin \tag <7>\frac<\pmb^ — \pmb^n> <\tau>= \pmb(t_, \pmb^). \end $$

Таким образом для нахождения приближенного значения искомой функции на новом временном слое \( t_ \) нужно решить нелинейное уравнение относительно \( \pmb^ \): $$ \begin \tag <8>\pmb^ — \tau \pmb(t_, \pmb^) — y^n = 0. \end $$

Для решения уравнения (8) можно использовать, например, метод Ньютона.

Программная реализация неявного метода Эйлера

Функция backward_euler решения системы уравнений реализована в файле euler.py:

Отметим, что для нахождения значения u[n+1] используется функция fsolve модуля optimize библиотеки scipy . В качестве начального приближения для решения нелинейного уравнения используется значение искомой функции с предыдущего слоя u[n] .

Методы Рунге—Кутта

Одношаговый метод Рунге—Кутта в общем виде записывается следующим образом: $$ \begin \tag <9>\frac<\pmb^ — \pmb^n> <\tau>= \sum_^s b_i \pmb_i, \end $$ где $$ \begin \tag <10>\pmb_i = \pmb\left( t_n + c_i\tau, \pmb^n + \tau \sum_^s a_\pmb_j \right), \quad i = 1, 2, \ldots, s. \end $$ Формула (9) основана на \( s \) вычислениях функции \( \pmb \) и называется \( s \)-стадийной. Если \( a_ = 0 \) при \( j \geq i \) имеем явный метод Рунге—Кутта. Если \( a_ = 0 \) при \( j > i \) и \( a_ \ne 0 \), то \( \pmb_i \) определяется неявно из уравнения $$ \begin \tag <11>\pmb_i = \pmb\left( t_n + c_i\tau, \pmb^n + \tau \sum_^ a_\pmb_j + \tau a_ \pmb_i \right), \quad i = 1, 2, \ldots, s. \end $$ О таком методе Рунге—Кутта говорят как о диагонально-неявном.

Одним из наиболее распространенных является явный метод Рунге-Кутта четвертого порядка: $$ \begin \tag <12>\pmb_1 & = \pmb(t_n, \pmb^n), &\quad \pmb_2 &= \pmb\left( t_n + \frac<\tau><2>, \pmb^n + \tau \frac<\pmb_1> <2>\right),\\ \pmb_3 &= \pmb\left( t_n + \frac<\tau><2>, \pmb^n + \tau \frac<\pmb_2> <2>\right), &\quad \pmb_4 &= \pmb\left( t_n + \tau, \pmb^n + \tau \pmb_3 \right),\\ \frac<\pmb^ -\pmb^n> <\tau>&= \frac<1> <6>(\pmb_1 + 2\pmb_2 + 2\pmb_3 + \pmb_4) & & \end $$

Многошаговые методы

В методах Рунге—Кутта в вычислениях участвуют значения приближенного решения только в двух соседних узлах \( \pmb^n \) и \( \pmb^ \) — один шаг по переменной \( t \). Линейный \( m \)-шаговый разностный метод записывается в виде $$ \begin \tag <13>\frac<1> <\tau>\sum_^m a_i \pmb^ = \sum_^ b_i \pmb(t_, \pmb^), \quad n = m-1, m, \ldots \end $$ Вариант численного метода определяется заданием коэффициентов \( a_i \), \( b_i \), \( i = 0, 1, \ldots, m \), причем \( a_0 \ne 0 \). Для начала расчетов по рекуррентной формуле (13) необходимо задать \( m \) начальных значений \( \pmb^0 \), \( \pmb^1 \), \( \dots \), \( \pmb^ \) (например, можно использовать для их вычисления метод Эйлера).

Различные варианты многошаговых методов (методы Адамса) решения задачи с начальными условиями для систем обыкновенных дифференциальных уравнений могут быть получены на основе использования квадратурных формул для правой части равенства $$ \begin \tag <14>\pmb(t_) — \pmb(t_n) = \int_^> \pmb(t, \pmb) dt \end $$

Для получения неявного многошагового метода используем для подынтегральной функции интерполяционную формулу по значениям функции \( \pmb^ = \pmb(t_, \pmb^) \), \( \pmb^n \), \( \dots \), \( \pmb^ \), т.е. $$ \begin \tag <15>\frac<\pmb^ — \pmb^n> <\tau>= \sum_^ b_i \pmb(t_, \pmb^) \end $$

Для интерполяционного метода Адамса (15) наивысший порядок аппроксимации равен \( m+1 \).

Для построения явных многошаговых методов можно использовать процедуру экстраполяции подынтегральной функции в правой части (14). В этом случае приближение осуществляется по значениям \( \pmb^n \), \( \pmb^ \), \( \dots \), \( \pmb^ \) и поэтому $$ \begin \tag <16>\frac<\pmb^ — \pmb^n> <\tau>= \sum_^ b_i \pmb(t_, \pmb^) \end $$

Для экстраполяционного метода Адамса (16) погрешность аппроксимации имеет \( m \)-ый порядок.

На основе методов Адамса строятся и схемы предиктор–корректор. На этапе предиктор используется явный метод Адамса, на этапе корректора — аналог неявного метода Адамса. Например, при использовании методов третьего порядка аппроксимации в соответствии с (18) для предсказания решения положим $$ \frac<\pmb^ — \pmb^n> <\tau>= \frac<1> <12>(23 \pmb^ -16\pmb^ + 5\pmb^). $$ Для уточнеия решения (см. (17)) используется схема $$ \frac<\pmb^ — \pmb^n> <\tau>= \frac<1> <24>(9\pmb^ + 19\pmb^ — 5\pmb^ + \pmb^). $$ Аналогично строятся и другие классы многошаговых методов.

Жесткие системы ОДУ

При численном решении задачи Коши для систем обыкновенных дифференциальных уравнений (3), (4) могут возникнуть дополнительные трудности, порожденные жесткостью системы. Локальные особенности поведения решения в точке \( u = w \) передаются линейной системой $$ \begin \frac

= \sum_^ \frac<\partial f_i> <\partial u_j>(t, w) v + \bar(t), \quad t > 0. \end $$

Пусть \( \lambda_i(t) \), \( i = 1, 2, \ldots, m \) — собственные числа матрицы $$ \begin A(t) = \< a_(t) \>, \quad a_(t) = \frac<\partial f_i><\partial u_j>(t, w). \end $$ Система уравнений (3) является жесткой, если число $$ \begin S(t) = \frac <\max_<1 \leq i \leq m>|Re \lambda_i(t)|> <\min_<1 \leq i \leq m>|Re \lambda_i(t)|> \end $$ велико. Это означает, что в решении присутствуют составляющие с сильно различающимися масштабами изменения по переменной \( t \).

Для численное решения жестких задач используются вычислительные алгоритмы, которые имеют повышенный запас устойчивости. Необходимо ориентироваться на использование \( A \)-устойчивых или \( A(\alpha) \)-устойчивых методов.

Метод называется \( A \)-устойчивым, если при решении задачи Коши для системы (3) область его устойчивости содержит угол $$ \begin |\arg(-\mu)| —>

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

Практическое занятие №25

«Численное интегрирование с помощью формул прямоугольников, трапеций, Симпсона.

Приближенное решение дифференциальных уравнений с помощью формул Эйлера»

1. Цель: Выработать навыки и умения по применению методов приближённого

интегрирования – формул прямоугольников, трапеций и Симпсона, в решении

приближенными методами дифференциальных уравнений

Пояснения к работе

2.1 Краткие теоретические сведения:

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

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

,

где есть интегральная сумма, соответствующая некоторому разбиению отрезка и некоторому набору точек отрезка разбиения.

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

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

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

интеграла на отрезке принимают интегральную сумму:

Практически удобно делить отрезок на равные части , а точки совмещать с

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

(1)

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

(2)

, где — максимум на (3)

Пример 1. Используя формулу прямоугольников при , вычислить с тремя десятичными знаками . Оценить допущенную погрешность.

Решение: разделим отрезок на 10 равных частей точками и найдём значения функции в этих точках:

11.11.21.31.41.51.61.71.81.92
1.0000.9090.8330.7690.7140.6670.6250.5880.5560.5260.5

Тогда получим и по формуле (1) находим

.

Оценим погрешность. Имеем ; функция монотонно убывает на отрезке , поэтому и .

Так как допущенная погрешность влияет уже на второй знак после запятой, то третий знак следует округлить. Значит, . Если вычислить этот интеграл по формуле Ньютона –

Лейбница, то получим . Таким образом, ответ является приближённым значением . Но ; следовательно, при вычислении допущена погрешность, меньшая .

Формула трапеций

Приближенное значение определенного интеграла можно вычислить и иным способом.

Заменим на отрезке дугу АВ графика подынтегральной функции у = f(x) стягивающей ее хордой (рис.2) и вычислим площадь трапеции АВbа. Примем значение определенного

интеграла численно равным площади этой трапеции.

(4)

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

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

, (5)

где точка . В случае, если , вычисление по формуле (4) даёт значение интеграла с избытком; если , то интеграл вычисляется с недостатком. Точность вычислений возрастает, если отрезок разделить на несколько частей и применить формулу трапеций к каждому отрезку (рис. 3). Тогда

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

Эта формула называется общей формулой трапеций. Общую формулу трапеций можно переписать в более удобном виде:

, где шаг (6)

Пример 2.Вычислить интеграл с помощью формулы трапеций при .

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

0,2 0,4 0,60,02 0,16 0,360,0000 0,0400 0,1593 0,35230, 1,0 1,2 1,4 1,60,64 1,0 1,44 1,96 2,560,5972 0,8415 0,9915 0,9249 0,5487

Используя формулу ,

Находим:

Примечание. Если данный интеграл вычислить при , то получим . Следовательно, точность вычислений увеличивается с возрастанием .

Формула Симпсона

Точность приближенного интегрирования заметно возрастает, если подынтегральную функцию на отрезке заменить квадратичной функцией (рис.5), принимающей в узлах х0 = а, х1, х2 = b значения и . В качестве интерполяционного многочлена используется многочлен Ньютона 2 степени. Тогда

(7)

Соотношение (7) называется формулой Симпсона. Формула Симпсона обладает повышенной точностью и является точной не только для многочленов второй степени, но и третьей. Погрешность формулы Симпсона оценивается следующим образом:

,где точка (8)

Для увеличения точности вычислений отрезок разбивают на п пар участков (рис. 4) и к каждому из них применяют формулу (7). Тогда численное значение определенного интеграла на всем отрезке будет равно

, где (9)

Соотношение (9) называется общей формулой Симпсона.
Пример 3. Вычислить по формуле Симпсона при .

По формуле (9) имеем . Подставляя в подынтегральную функцию значения , получим

.

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

Простейшим обыкновенным дифференциальным уравнением является уравнение первого порядка, разрешенное относительно производной:

(10)

Основная задача, связанная с этим уравнением, известна как задана Коши:найти решение уравнения (10) в виде функции у(х), удовлетворяющей начальному условию

(11)

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

заданную точку M0(x0, .y0), при выполнении равенства (11) (см. рис.6). С численной точки зрения задача Коши выглядит следующим образом: требуется построить таблицу значений функции у=у(х), удовлетворяющей уравнению (10) и начальному условию (11) на отрезке [a;b]с некоторым шагом h. Обычно считается, что х0 = а, т.е. начальное условие задано в левом конце отрезка.

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

Пусть дано уравнение (10) с начальным условием (11) (т.е. поставлена задача Коши). Решим вначале следующую задачу: най­ти простейшим способом прибли­женное значение решения в не­которой точке x1 = х0 + h, где h — достаточно малый шаг.

Заметим, что уравнение (10) совместно с началь­ным условием (11) задают направ­ление касательной к искомой ин­тегральной кривой в точке М00, у0). Уравнение касательной имеет вид

(12)

Двигаясь вдоль этой касательной (рис. 7), учитывая соотношения (10) и (12), получим приближенное значение решения в точке х1:

(13)

Располагая приближенным ре­шением в точке М11,y1), можно повторить описанную ранее процедуру: построить прямую, про­ходящую через эту точку с угловым коэффициентом f (х1, y1) и по ней найти приближенное значение решения в точке х2 = х1 + h. Заметим, что в отличие от ситуации, изображенной на рис. 7, эта прямая не есть касательная к реальной интегральной кривой, поскольку точка M1, нам недоступна. Однако представляется инту­итивно ясным, что если h достаточно мало, то получаемые при­ближения будут близки к точным значениям решения.

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

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

, (15)

Геометрическая иллюстрация метода Эйлера приведена на рис. 8. Вместо интегральной кривой в реальности получается сово­купность прямых (так называемая ломаная Эйлера).

Рис.8 Ломаная Эйлера

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

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

Наиболее используемым эмпирическим методом оценки то­чности как метода Эйлера, так и других пошаговых методов при­ближенного численного интегрирования обыкновенных диффе­ренциальных уравнений является способ двойного прохождения заданного отрезка — с шагом h и с шагом h/2. Совпадение соот­ветствующих десятичных знаков в полученных двумя способами результатах дает эмпирические основание считать их верными (хотя полной уверенности в этом быть не может).

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

Для эмпирического контроля того, не имеет ли места неустой­чивость, следует численно интегрировать уравнение с нескольки­ми, значительно отличающимися, значениями шага h, сравнивая качественно поведение решений.

Пример 4.Применяя метод Эйлера, составить таблицу значений решения дифференциального уравнения , с начальным условием на отрезке , приняв h=0,25. Вычисления проводить с 4-мя знаками после запятой.

Для удобства вычислений составим таблицу.

1-й шаг: по начальным условиям заполним первую строку во 2-м и 3-м столбцах ;

2-й шаг: из уравнения вычисляем ( i = 0, 1, 2, 3, 4, 5) в столбце (4);

3-й шаг: содержимое столбца (4) умножаем на h (вычисляем ) и

записываем результат в столбец (5) этой же строки;

4-й шаг: к содержимом столбца (3) прибавляем содержимое столбца (5) этой же строки

(вычисляеми результат записывает столбец (3)следующей

строки. Определяем хi+1 = xi + h и затем шаги 2-4 повторяем до тех пор, пока не будет пройден

весь отрезок .

ixiyi
(1)(2)(3)(4)(5)
1,50001,50000,3750
0,251,87501,62500,4062
0,502,28121,78120,4453
0,752,72651,97650,4951
1,003,22062,22060,5552
1,253,77582,52580,6314
1,504,4072

Пример 5. Решить методом Эйлера дифференциальное урав­нение с начальным значением у(0) = 1,3 на отрез­ке [0; 1], приняв шаг h = 0,2.

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

ixiyi
(1)(2)(3)(4)(5)
0,01,30,270,05
0,21,350,820,16
0,41,511,250,25
0,61,761,610,32
0,82,081,910,38
1,02,46

Задание

Вариант 1

1.По формуле левых прямоугольников для n=12 вычислить значение интеграла: .

2. По формуле трапеций n=10 вычислить значение интеграла с тремя десятичными

знаками: .

3. По формуле Симпсона для n=6 вычислить значение интеграла с тремя десятичными

знаками: .

4. Применяя методом Эйлера, составить таблицу значений решения дифференциального урав­нения

с начальным условием у(2) = 1, 2 на отрез­ке [2; 3], приняв шаг h = 0,1.

Сделайте ручную прикидку графика интегральной кривой на бумаге.

Вариант 2

1.По формуле левых прямоугольников для n=12 вычислить значение интеграла: .

2.По формуле трапеций n=8 вычислить значение интеграла с тремя десятичными

знаками: .

3.По формуле Симпсона для n=6 вычислить значение интеграла с тремя десятичными

знаками: .

4. Применяя методом Эйлера, составить таблицу значений решения дифференциального урав­нения

с начальным условием у(2,6) = 1, 8 на отрез­ке [2,6; 4,6], приняв шаг h = 0,2.

Сделайте ручную прикидку графика интегральной кривой на бумаге.

Вариант 3

1.По формуле правых прямоугольников для n=12 вычислить значение интеграла:

2.По формуле трапеций для n=10 вычислить значение интеграла с тремя десятичными

знаками:

3. По формуле Симпсона для n=6 вычислить значение интеграла с тремя десятичными

знаками:

4. Применяя методом Эйлера, составить таблицу значений решения дифференциального урав­нения

с начальным условием у(0,6) = 3,4 на отрез­ке [0,6; 2,6], приняв шаг h = 0,2.

Сделайте ручную прикидку графика интегральной кривой на бумаге.

Вариант 4

1.По формуле правых прямоугольников для n=12 вычислить значение интеграла:

2. По формуле трапеций для n=10 вычислить значение интеграла с тремя десятичными знаками:

3. По формуле Симпсона для n=6 вычислить значение интеграла с тремя десятичными

знаками:

4. Применяя методом Эйлера, составить таблицу значений решения дифференциального урав­нения

с начальным условием у(3) = 1,7 на отрез­ке [3; 5], приняв шаг h = 0,2.

Сделайте ручную прикидку графика интегральной кривой на бумаге.

4. Контрольные вопросы:

1. Какие методы приближенного вычисления определенных интегралов вы знаете? Назовите

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

2. На чем основан метод Эйлера приближенно решения дифференциальных уравнений?

5. Содержание отчёта:

5.1 Наименование работы

5.4 Формулы для расчета

5.5 Необходимые расчеты. Анализ результатов расчетов

5.6 Выводы по работе

5.7 Ответы на контрольные вопросы

1. Колягин Ю.М. , Луканкин Г.Л., Яковлев Г.Н. Математика в 2-х томах Учебное пособие — М.

Новая волна, 2005, ч.1, с.565-571;

2. Богомолов Н.В. «Практические занятия по математике» — Учебное пособие – М.:Высш. школа,

3. Лапчик М.П., Рагулина М.И., Хеннер Е.К. Элементы численных методов: учебник для студ. сред.

проф. образования -М.: Издательский центр «Академия», 2007, с.152-184

ЛЕКЦИЯ Приближенное решение обыкновенных дифференциальных уравнений: Метод Эйлера. — презентация

Презентация была опубликована 8 лет назад пользователемИван Ергин

Похожие презентации

Презентация на тему: » ЛЕКЦИЯ Приближенное решение обыкновенных дифференциальных уравнений: Метод Эйлера.» — Транскрипт:

1 ЛЕКЦИЯ Приближенное решение обыкновенных дифференциальных уравнений: Метод Эйлера

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

3 Например, структура движения потока в реакторе идеального перемешивания описывается обыкновенным дифференциальным уравнением: Здесь искомая функция (концентрация вещества) С(t) зависит от одной переменной t (времени).

4 Постановка задачи В том случае, если искомая функция зависит от нескольких переменных, дифференциальное уравнение будет уравнением в частных производных. Например, структуру потока в реакторе идеального вытеснения можно описать уравнением в частных производных: В этом уравнении функция С(t,l) зависит от времени (t) и длины аппарата (l).

5 Постановка задачи Обыкновенными дифференциальными уравнениями (ОДУ) называются уравнения, которые содержат одну или несколько производных от искомой функции y = y(x): где x – независимая переменная. Наивысший порядок n, входящей в уравнение производной, называется порядком дифференциального уравнения. Например: уравнение первого порядка; уравнение второго порядка

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

7 Постановка задачи В зависимости от вида таких условий рассматривают три типа задач, для которых доказано существование и единственность решений. Первый тип – это задачи с начальными условиями. Для таких задач кроме исходного дифференциального уравнения в некоторой точке x 0 должны быть заданы начальные условия, т.е. значения функции y (x) и её производных: y (x 0 ) = y 0 y’ (x 0 ) = y ‘ 0. y (n-1) (x 0 ) = y n-1 0.

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

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

10 Постановка задачи Необходимо найти на отрезке [x 0,x n ] такую непрерывную функцию y = y(x), которая удовлетворяет дифференциальному уравнению и начальному условию т.е. найти решение дифференциального уравнения. Нахождение такого решения называют решением задачи Коши. Численное решение этой задачи состоит в построении таблицы приближенных значений y 1,y 2. y n решения уравнения y(x) в точках x 1,x 2. x n с некоторым шагом h.

11 Методы Рунге-Кутта Методы Рунге-Кутта обладают следующими отличительными свойствами: являются одноступенчатыми: чтобы найти значение функции в точке y i+1 нужна информация только о предыдущей точке (y i,x i ); согласуются с рядом Тейлора вплоть до членов порядка h k, где степень k определяет порядок метода; не требуют вычисления производных от f(x,y), а требуют вычисления самой функции.

12 Метод Эйлера (метод Рунге-Кутта первого порядка) Простейшим из численных методов решения дифференциальных уравнений является метод Эйлера. Это один из самых старых и широко известных и применяемых на в практике методов.

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

14 Метод Эйлера В окрестности точки x 0 функцию y(x) разложим в ряд Тейлора который можно применить для приближенного определения искомой функции y(x). В точке x 0 +h при малых значениях h можно ограничиться двумя членами ряда, тогда, где O(h 2 ) – бесконечно малая величина порядка h 2. (1) (2)

15 Метод Эйлера Заменим производную y'(x 0 ), входящую в формулу (1), на правую часть уравнения (2) Приближенное решение в точке x 1 =x 0 +h можно вновь рассматривать как начальное условие и по формуле найти значение искомой функции в следующей точке x 2 =x 1 +h. В результате получен простейший алгоритм решения задачи Коши, который называется методом Эйлера.

16 Метод Эйлера Метод Эйлера можно представить в виде последовательного применения формул: для точки x 1 = x 0 +h, x 2 = x 1 + h, x i+1 = x i + h,

17 Метод Эйлера Таким образом, формула Эйлера в общем случае имеет вид: x i+1 = x i + h

18 Метод Эйлера Геометрически искомая функция y(x) заменяется ломаной линией, представляющей собой отрезки касательных к этой функции в узлах x 0, x 1. x n.

19 x0 x0 y=y 0 +y 0 ‘(x–x 0 ) y h x1 x1 y0y0 y1y1

20 Метод Эйлера Выведем формулы на основе геометрических аналогий. Предположим, что нам известна точка (x 0,y 0 ) на искомой интегральной кривой. Через точку (x 0,y 0 ) проведем касательную с тангенсом угла наклона (3) Уравнение касательной имеет вид:

21 Метод Эйлера Тогда в точке x 1 =x 0 +h, с учетом (3) получим решение: Ошибка решения в точке x=x 1 показана в виде отрезка.

22 Метод Эйлера Полученная формула является методом Рунге — Кутта первого порядка, т.к. она согласуется с разложением в ряд Тейлора вплоть до членов порядка h 1. Метод Эйлера имеет довольно большую погрешность вычисления: 0(h). Кроме того, он очень часто оказывается неустойчивым – малая ошибка (например, заложенная в исходных данных) увеличивается с ростом x.


источники:

http://lektsii.org/4-22486.html

http://www.myshared.ru/slide/616153/