Метод эйлера решения систем диф уравнений

Системы дифференциальных уравнений с примерами решения и образцами выполнения

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

Решение систем дифференциальных уравнений

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

Здесь x, у, z — координаты движущейся точки, t — время, f, g, h — известные функции своих аргументов.

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

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

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

Например, одно уравнение

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

В результате получаем нормальную систему уравнений

эквивалентную исходному уравнению.

Определение:

Решением нормальной системы (3) на интервале (а, Ь) изменения аргумента t называется всякая система n функций

дифференцируемых на интервале а

Теорема:

Существования и единственности решения задачи Коши. Пусть имеем нормальную систему дифференциальных уравнений

и пусть функции определены в некоторой (n + 1) — мерной области D изменения переменных Если существует окрестность точки в которой функции fi непрерывны по совокупности аргументов и имеют ограниченные частные производные по переменным то найдется интервал изменения t, на котором существует единственное решение нормальной системы (3), удовлетворяющее начальным условиям

Определение:

Система n функций

зависящих от t и n произвольных постоянных называется общим решением нормальной системы (3) в некоторой области существования и единственности решения задачи Коши, если

1) при любых допустимых значениях система функций (6) обращает уравнения (3) в тождества,

2) в области функции (6) решают любую задачу Коши.

Решения, получающиеся из общего при конкретных значениях постоянных называются частными решениями.

Обратимся для наглядности к нормальной системе двух уравнений,

Будем рассматривать систему значений t, x1, х2 как прямоугольные декартовы координаты точки трехмерного пространства, отнесенного к системе координат Решение

системы (7), принимающее при значения определяет в пространстве некоторую линию, проходящую через точку Эта линия называется интегральной кривой нормальной системы (7). Задача Коши для системы (7) получает следующую геометрическую формулировку: в пространстве переменных t, x1, х2 найти интегральную кривую, проходящую через данную точку (рис. 1). Теорема 1 устанавливает существование и единственность такой кривой.

Нормальной системе (7) и ее решению можно придать еще такое истолкование: будем независимую переменную t рассматривать как параметр, а решение

системы — как параметрические уравнения кривой на плоскости Эту плоскость переменных х1х2 называют фазовой плоскостью. В фазовой плоскости решение системы (7), принимающее при t = to начальные значения изображается кривой АВ, проходящей через точку (рис. 2). Эту кривую называют траекторией системы (фазовой траекторией). Траектория системы (7) есть проекция интегральной кривой на фазовую плоскость. По интегральной кривой фазовая траектория определяется однозначно, но не наоборот.

Методы интегрирования систем дифференциальных уравнений

Метод исключения

Один из методов интегрирования — метод исключения. Частным случаем канонической системы является одно уравнение n-го порядка, разрешенное относительно старшей производной

Введя новые функции заменим это уравнение следующей нормальной системой n уравнений:

т. е. одно уравнение n-го порядка эквивалентно нормальной системе (1)

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

Делается это так. Пусть имеем нормальную систему

Продифференцируем первое из уравнений (2) по t. Имеем

Заменяя в правой части производные их выражениями получим

Уравнение (3) снова дифференцируем по t. Принимая во внимание систему (2), получим

Продолжая этот процесс, найдем

Предположим, что определитель

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

Тогда система уравнений, составленная из первого уравнения системы (2) и уравнений

будет разрешима относительно неизвестных При этом выразятся через

Внося найденные выражения в уравнение

получим одно уравнение n-го порядка

Из самого способа его построения следует, что если есть решения системы (2), то функция х1(t) будет решением уравнения (5).

Обратно, пусть Х1(t) — решение уравнения (5). Дифференцируя это решение по t, вычислим и подставим найденные значения как известные функции

от t в систему уравнений

По предположению эту систему можно разрешить относительно т. е найти как функции от t.

Можно показать, что так построенная система функций

составляет решение системы дифференциальных уравнений (2). Пример:

Требуется проинтегрировать систему

Дифференцируя первое уравнение системы, имеем

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

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

В силу первого уравнения системы находим функцию

Найденные функции x(t), y(t), как легко проверить, при любых значениях С1 и С2 удовлетворяют заданной системе.

Функции x(t), y(t) можно представить в виде

откуда видно, что интегральные кривые системы (6) — винтовые линии с шагом и с общей осью х = у = 0, которая также является интегральной кривой (рис. 3).

Исключая в формулах (7) параметр t, получаем уравнение

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

При А = 0 фазовая траектория состоит из одной точки х = 0, у = 0, называемой точкой покоя системы.

Замечание:

Может оказаться, что функции нельзя выразить через Тогда уравнения n-го порядка, эквивалентного исходной системе, мы не получим. Вот простой пример. Систему уравнений

нельзя заменить эквивалентным уравнением второго порядка относительно х1 или x2. Эта система составлена из пары уравнений 1-го порядка, каждое из которых интегрируется независимо, что дает

Метод интегрируемых комбинаций

Интегрирование нормальных систем дифференциальных уравнений

иногда осуществляется методом интегрируемых комбинаций.

Интегрируемой комбинацией называется дифференциальное уравнение, являющееся следствием уравнений (8), но уже легко интегрирующееся.

Пример:

Складывая почленно данные уравнения, находим одну интегрируемую комбинацию:

Вычитая почленно из первого уравнения системы второе, получаем вторую интегрируемую комбинацию:

Мы нашли два конечных уравнения

из которых легко определяется общее решение системы:

Одна интегрируемая комбинация дает возможность получить одно уравнение

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

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

то задача интефирования системы (8) решена (так как из системы

определяются все неизвестные функции

Системы линейных дифференциальных уравнений

Система дифференциальных уравнений называется линейной, если она линейна относительно неизвестных функций и их производных, входящих в уравнение. Система n линейных уравнений первого порядка, записанная в нормальной форме, имеет вид

или, в матричной форме,

Теорема:

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

Действительно, в таком случае правые части системы (1) непрерывны по совокупности аргументов t, и их частные производные по ограничены, так как эти производные равны непрерывным на отрезке [а,b] коэффициентам

Введем линейный оператор

Тогда система (2) запишется в виде

Если матрица F — нулевая, т. е. на интервале (а,b), то система (2) называется линейной однородной и имеет вид

Приведем некоторые теоремы, устанавливающие свойства решений линейных систем.

Теорема:

Если X(t) является решением линейной однородной системы

то cX(t), где с — произвольная постоянная, является решением той же системы.

Теорема:

двух решений однородной линейной системы уравнений является решением той же системы.

Следствие:

с произвольными постоянными коэффициентами сi решений линейной однородной системы дифференциальных уравнений

является решением той же системы.

Теорема:

Если есть решение линейной неоднородной системы

a Xo(t) — решение соответствующей однородной системы

будет решением неоднородной системы

Действительно, по условию,

Пользуясь свойством аддитивности оператора получаем

Это означает, что сумма есть решение неоднородной системы уравнений

Определение:

называются линейно зависимыми на интервале a

при причем по крайней мере одно из чисел аi, не равно нулю. Если тождество (5) справедливо только при то векторы называются линейно независимыми на (а, b).

Заметим, что одно векторное тождество (5) эквивалентно n тождествам:

называется определителем Вронского системы векторов

Определение:

Пусть имеем линейную однородную систему

где матрица с элементами Система n решений

линейной однородной системы (6), линейно независимых на интервале а

с непрерывными на отрезке коэффициентами является линейная комбинация п линейно независимых на интервале а

() — произвольные постоянные числа).

Пример:

имеет, как нетрудно проверить, решения

Эти решения линейно независимы, так как определитель Вронского отличен от нуля:

Общее решение системы имеет вид

(с1, с2 — произвольные постоянные).

Фундаментальная матрица

Квадратная матрица

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

Если Х(t) — фундаментальная матрица системы (6), то общее решение системы можно представить в виде

— постоянная матрица-столбец с произвольными элементами. Полагая в (7) t = t0, имеем

Матрица называется матрицей Коши. С ее помощью решение системы (6) можно представить так:

Теорема:

О структуре общего решения линейной неоднородной системы дифференциальных уравнений. Общее решение в области линейной неоднородной системы дифференциальных уравнений

с непрерывными на отрезке коэффициентами aij(t) и правыми частями fi(t) равно сумме общего решения

соответствующей однородной системы и какого-нибудь частного решения неоднородной системы (2):

Метод вариации постоянных

Если известно общее решение линейной однородной системы (6), то частное решение неоднородной системы можно находить методом вариации постоянных (метод Лагранжа).

есть общее решение однородной системы (6), тогда

причем решения Xk(t) линейно независимы.

Будем искать частное решение неоднородной системы

где неизвестные функции от t. Дифференцируя по t, имеем

Подставляя в (2), получаем

то для определения получаем систему

или, в развернутом виде,

Система (10) есть линейная алгебраическая система относительно определителем которой является определитель Вронского W(t) фундаментальной системы решений . Этот определитель отличен от нуля всюду на интервале a

где — известные непрерывные функции. Интегрируя последние соотношения, находим

Подставляя эти значения в (9), находим частное решение системы (2)

(здесь под символом понимается одна из первообразных для функции

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

Рассмотрим линейную систему дифференциальных уравнений

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

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

Метод Эйлера

Будем искать решение системы

где — постоянные. Подставляя Xk в форме (2) в систему (1), сокращая на и перенося все члены в одну часть равенства, получаем систему

Для того, чтобы эта система (3) линейных однородных алгебраических уравнений с n неизвестными имела нетривиальное решение, необходимо и достаточно, чтобы ее определитель был равен нулю:

Уравнение (4) называется характеристическим. В его левой части стоит многочлен относительно степени n. Из этого уравнения определяются те значения , при которых система (3) имеет нетривиальные решения . Если все корни характеристического уравнения (4) различны, то, подставляя их по очереди в систему (3), находим соответствующие им нетривиальные решения этой системы n, следовательно, находим п решений исходной системы дифференциальных уравнений (1) в виде

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

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

Следовательно, общее решение однородной системы дифференциальных уравнений (1) имеет вид

где произвольные постоянные.

Случай, когда характеристическое уравнение имеет кратные корни, мы рассматривать не будем.

Пример:

Ищем решение в виде

имеет корни

Система (3) для определения a1, а2 выглядит так:

Подставляя в (*) получаем

откуда а21 = а11. Следовательно,

Полагая в находим a22 = — a12, поэтому

Общее решение данной системы:

Матричный метод

Изложим еще матричный метод интегрирования однородной системы (1). Запишем систему (1) в виде

матрица с постоянными действительными элементами

Напомним некоторые понятия из линейной алгебры. Вектор называется собственным вектором матрицы А, если

Число называется собственным значением матрицы А, отвечающим собственному вектору g, и является корнем характеристического уравнения

где I — единичная матрица.

Будем предполагать, что все собственные значения матрицы А различны. В этом случае собственные векторы g1, g2, …gn линейно независимы и существует матрица Т, приводящая матрицу А к диагональному виду, т. е. такая, что

Столбцами матрицы Т являются координаты собственных векторов g1, g2 …, gn матрицы А.

Введем еще следующие понятия. Пусть В(t) — матрица, элементы которой суть функции аргумента t, определенные на множестве . Матрица В(t) называется непрерывной на , если непрерывны на все ее элементы . Матрица В(t) называется дифференцируемой на , если дифференцируемы на все элементы этой матрицы. При этом производной матрицы называется матрица, элементами которой являются производные у соответствующих элементов матрицы В(t).

Пусть B(t) — n х n-матрица,

— вектор-столбец. Учитывая правила алгебры матриц, непосредственной проверкой убеждаемся в справедливости формулы

В частности, если В — постоянная матрица, то

так как есть нуль-матрица.

Теорема:

Если собственные значения матрицы А различны, то общее решение системы (7) имеет вид

где g1, g2,…, gn — собственные векторы-столбцы матрицы А, произвольные постоянные числа.

Введем новый неизвестный вектор-столбец Y(t) по формуле

где Т — матрица, приводящая матрицу А к диагональному виду. Подставляя X(t) из (11) в (7), получим систему

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

Мы получили систему из n независимых уравнений, которая без труда интегрируется:

Здесь — произвольные постоянные числа.

Вводя единичные n-мерные векторы-столбцы

решение Y(t) можно представить в виде

В силу (11) Х(t) = TY(t). Так как столбцы матрицы Т есть собственные векторы матрицы собственный вектор матрицы А. Поэтому, подставляя (13) в (11), получим формулу (10):

Таким образом, если матрица А системы дифференциальных уравнений (7) имеет различные собственные значения, для получения общего решения этой системы:

1) находим собственные значения матрицы как корни алгебраического уравнения

2) находим все собственные векторы g1, g2,…, gn;

3) выписываем общее решение системы дифференциальных уравнений (7) по формуле (10).

Пример:

Матрица А системы имеет вид

1) Составляем характеристическое уравнение

Корни характеристического уравнения

2) Находим собственные векторы

Для = 4 получаем систему

откуда g11 = g12, так что

Аналогично для = 1 находим

3) Пользуясь формулой (10), получаем общее решение системы дифференциальных уравнений

Корни характеристического уравнения могут быть действительными и комплексными. Так как по предположению коэффициенты системы (7) действительные, то характеристическое уравнение

будет иметь действительные коэффициенты. Поэтому наряду с комплексным корнем оно будет иметь и корень *, комплексно сопряженный с . Нетрудно показать, что если g — собственный вектор, отвечающий собственному значению , то * — тоже собственное значение, которому отвечает собственный вектор g*, комплексно сопряженный с g.

При комплексном решение

системы (7) также будет комплексным. Действительная часть

этого решения являются решениями системы (7). Собственному значению * будет отвечать пара действительных решений X1 и -Х2, т. е. та же пара, что и для собственного значения . Таким образом, паре , * комплексно сопряженных собственных значений отвечает пара действительных решений системы (7) дифференциальных уравнений.

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

где сi — произвольные постоянные.

Пример:

1) Характеристическое уравнение системы

Его корни

2) Собственные векторы матриц

3) Решение системы

где а1, а2 — произвольные комплексные постоянные.

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

Следовательно, всякое действительное решение системы имеет

где с1, с2 — произвольные действительные числа.

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

Решение заданий и задач по предметам:

Дополнительные лекции по высшей математике:

Образовательный сайт для студентов и школьников

Копирование материалов сайта возможно только с указанием активной ссылки «www.lfirmal.com» в качестве источника.

© Фирмаль Людмила Анатольевна — официальный сайт преподавателя математического факультета Дальневосточного государственного физико-технического института

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

Рассмотрим задачу Коши для системы обыкновенных дифференциальных уравнений $$ \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)| —>

Метод эйлера решения систем диф уравнений

Системой дифференциальных уравнений называется система вида

где x — независимый аргумент,

yi — зависимая функция, ,

Функции yi(x), при подстановке которой система уравнений обращается в тождество, называется решением системой дифференциальных уравнений.

Численные методы решения систем дифференциальных уравнений.

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

Метод Рунге-Кутта четвертого порядка.

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

F(x,y,у’,y»)=0(1)
y»=f(x,y,y’).(2)

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

Численно ищется частное решение уравнения (2), которое удовлетворяет заданным начальным условиям, то есть решается задача Коши.

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

.(3)

Функция f2(x, y1, y) в систему (3) введена формально для того, чтобы методы, которые будут показаны ниже, могли быть использованы для решения произвольной системы дифференциальных уравнений первого порядка. Рассмотрим несколько численных методов решения системы (3). Расчетные зависимости для i+1 шага интегрирования имеют следующий вид. Для решения системы из n уравнений расчетные формулы приведены выше. Для решения системы из двух уравнений расчетные формулы удобно записать без двойных индексов в следующем виде:

Метод Рунге-Кутта четвертого порядка.

где h — шаг интегрирования. Начальные условия при численном интегрировании учитываются на нулевом шаге: i=0, x=x0, y1=y10, y=y0.

Контрольное задание по зачетной работе.

Колебания с одной степенью свободы

Цель. Изучение численных методов решения дифференциальных уравнений второго порядка и систем дифференциальных уравнений первого порядка.

Задание. Численно и аналитически найти:

  1. закон движения материальной точки на пружинке х(t),
  2. закон изменения силы тока I(t) в колебательном контуре (RLC — цепи) для заданных в табл.1,2 режимов. Построить графики искомых функций.

Свободные незатухающие колебания

Затухающее колебательное движение

Предельное апериодическое движение

Вынужденное колебание без сопротивления

Вынужденное колебание без сопротивления, явление резонанса

Вынужденное колебание с линейным сопротивлением

Вынужденное колебание с линейным сопротивлением, явление резонанса


источники:

http://slemeshevsky.github.io/num-mmf/ode/html/._ode-FlatUI001.html

http://toehelp.ru/theory/informat/lecture14.html