Тема-01-05



Тема 1.5. Методы решения обыкновенных дифференциальных уравнений

Перейти к Теме 1.4 Теме 1.6 Огл.

1.5.1. Постановка задачи

1.5.2. Метод Эйлера

1.5.3.Методы Рунге-Кутты

1.5.4. Решение ОДУ n-го порядка

1.5.5. Сравнение методов решения ОДУ

1.5.6. Тестовые задания по теме «Методы решения ОДУ»

1.5.1. Постановка задачи

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

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

Из курса математического анализа известно, что обыкновеннымназывается такое дифференциальное уравнение от одной переменной, которое содержит одну или несколько производных от искомой функции y(x). В общем виде ОДУ можно представить следующим образом:

(1.5.1-1)

где х – независимая переменная, а n – порядок ОДУ.

Численные методы позволяют решить только ОДУ1-го порядка, поэтому в дальнейшем будем рассматривать только такие уравнения. Следует отметить, что ОДУn-го порядка можно привести к системе из n уравнений 1-го порядка, и при решении системы применить те же методы.

Известно, что дляОДУ 1-го порядка справедливы следующие формы записи:

Вторая форма записи называется ОДУ, разрешенным относительно старшей производной.

Решением ОДУ первого порядка называется такая функция, которая при подстановке в уравнение обращает его в тождество. При этом различают общее и частное решенияОДУ.

Общее решение ОДУ содержит n произвольных постоянных С1, С2, . . .,Сn и имеет следующий вид:

Общее решение ОДУ первого порядка содержит одну произвольную постоянную y = (x,C) и описывает множество функций, удовлетворяющих уравнению y = f(x,y)(рис. 1.5.1-1).

Метод рунге кутты 2 порядка

Рис. 1.5.1-1

Если произвольная постоянная принимает конкретное значение С=С0, то из общего решения ОДУ, в соответствии с теоремой Коши, получаем частное решение y = (x,C0), поскольку через каждую точку (x0, y0) в области допустимых значений проходит только одна интегральная кривая.

Теорема Коши для ОДУ 1-го порядка звучит так:

Если в ОДУ функция y = f(x,y) и ее частная производная f (x,y) определены и непрерывны в некоторой области G изменения переменных x и y, то для всякой внутренней точки (x0, y0) этой области данное уравнение имеет единственное решение.

Значения x0, y0 называются начальными условиями. Для ОДУ 2-го порядка, общее решение которого имеет две произвольные постоянные, в качестве начальных значений выступают x0, y0 = (x0) и y0=φ (x0).

При решении ОДУ точным решением является аналитическое выражение функции y = (x), а результатом решения ОДУ численными методами является таблица значений y = (x) на некотором множестве значений аргумента х. Поэтому при постановке задачи численного решения ОДУ наряду с начальными условиями x0, y0необходимо задать область решения — отрезок [a;b] и шаг изменения аргумента h.

Таким образом, численное решение ОДУ представляет собой таблицу значений искомой функции для заданной последовательности аргументов, xi+1=xi+h, i=0, 1, …,n, где

h =xi+1-xi называется шагом интегрирования.

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

а в многошаговых – нескольких, например

Начинать решение задачи Коши многошаговыми методами нельзя,поэтомуначинают решение,используявсегда одношаговые методы.

Основная идея решения ОДУ одношаговыми методами сводится к разложению искомого решения y(x) в ряд Тейлора в окрестности текущей точки и его усечению. Число оставшихся членов ряда определяет порядок и, следовательно, точность метода.

Рассмотрим наиболее распространенные одношаговые численные методы решения ОДУ.

1.5.2. Метод Эйлера

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

y=f(x,y),(1.5.2-1)

с начальными условиями x0, y0 = y(x0). Требуется найти решение данного уравнения на отрезке [a;b] (обычно x0=а) в n точках.

На рис. 1.5.2-1 график искомой функции y(x) проходит через точку А(x0,y0),заданную начальными условиями.

Метод рунге кутты 2 порядка

Рис. 1.5.2-1

Разобьем отрезок на n равных частей и получим последовательность x0,x1,…, xn, где xi=x0+i∙h (i=0, 1, …,n), а h = (b-a)/n – шаг интегрирования.

Найдем yi= y(xi). Для этого проинтегрируем производную, заданную (1.5.2-1) на интервале [x0;x1],по формуле Ньютона –Лейбница:

Отсюда значение искомой функции в точке x1

Примем допущение, что на интервале [x0;x1]производная исходной функции постоянна и равна своему значению в точке А(x0,y0). Тогда по формуле прямоугольников

Полученное выражение имеет наглядную геометрическую интерпретацию (рис. 1.5.2-1) . Поскольку значение производной f’(x0,y0)=tg, то в прямоугольном треугольнике ABDy0=htg, и, следовательно, y1=y0+y0=y0+hf(x0,y0). Таким образом, y1может быть найдено геометрически в результате замены искомой кривой y(x) касательной, проведенной в точке А.

Продолжая этот процесс и принимая подынтегральную функцию f(x) на соответствующем участке [xi,xi+1] постоянной и равной ее значению в начале отрезка, получим решение дифференциального уравнения в виде значений искомой функции y(x) на отрезке [a;b]. График решения представляет собой ломаную линию, которая называется ломаной Эйлера. При этом общая формула для определения очередного значения функции имеет вид:

(1.5.2-2)

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

Погрешность метода Эйлера связана с величиной шага интегрирования отношением e1 =C1h2, где C1– произвольная постоянная.

Пример 1.5.2-1. Решить методом Эйлера ОДУ y= 2x/y с начальными условиями x0 = 1и y0 = 1на отрезке [1;1.4]с шагомh = 0.2.

1.5.3. Методы Рунге-Кутты

Методы Рунге-Кутты – это группа методов, широко применяемых на практике для решения ОДУ. В этих методах при вычислении значения искомой функции в очередной точке хi+1 используется информация о предыдущей точке хi, yi. Методы различаются объемом вычислений и точностью результата.

Порядокметода Рунге-Кутты определяется кратностью вычисления значения производной искомой функции f(x,y)на каждом шаге. В соответствии с этим метод Эйлера является методом Рунге-Кутты первого порядка, поскольку для получения очередного значения yi+1 функция f(x) вычисляется один раз в предыдущей точке хi, yi. В методах Рунге-Кутты более высоких порядков для вычисления очередного значения искомой функции в точке хi+1 значение правой части уравнения y’= f(x,y) вычисляется несколько раз, количество которых и определяет порядок метода.

Метод Рунге-Кутты 2-го порядка (Усовершенствованный метод Эйлера). Вычисление значения искомой функции в точке хi+1 проводится в два этапа. Сначала вычисляют вспомогательную величину по методу Эйлера:

(1.5.3-1)

Затем значение производной искомой функции в точке (xi+1,yi+1) используется для вычисления окончательного значения функции:

(1.5.3-2)

Подставляя (1.5.3-1) в (1.5.3-2), окончательно получим расчетную формулу метода Рунге-Кутты 2-го порядка:

(1.5.3-3)

Этот метод также называют методом прогноза и коррекций. Сначала находят грубое приближение по методу Эйлера (прогноз), а затем уточненное значение yi+1(коррекция).

В общем виде формулу (1.5.3-3) можно представить как

(1.5.3-4)

Метод Рунге-Кутты второго порядка имеет наглядную геометрическую интерпретацию (рис.1.5.3-1). Построение проводится следующим образом: определяется пересечением перпендикуляра, восстановленного из точки xi+1c касательной L1, проведенной к кривой y(x) в предыдущей точке (хi,yi). Затем в точке проводитсяпрямаяL2 с тангенсом угла наклона, равным. Прямую проводят через точку под углом, тангенс которого находим усреднением значений тангенсов углов наклона L1 и L2. ПрямаяL проводится параллельно через точку (хi,yi). Ее пересечение с перпендикуляром, восстановленным из точки хi+1, и дает уточненное значение yi+1.

Метод рунге кутты 2 порядка

Рис. 1.5.3-1

Погрешность метода Рунге-Кутты второго порядка связана с величиной шага интегрирования отношением e2 =C2h3, гдеC2– произвольная постоянная.

Пример 1.5.3-1. Решить методом Рунге-Кутты второго порядка ОДУ y= 2x/y с начальными условиями x0 = 1 и y0 = 1 на отрезке [1;1.4] и шагом h = 0.2.

Проводя дальнейшее обобщение формул Рунге-Кутты, для решения ОДУ первого порядка можно записать следующее:

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

(1.5.3-5)

Величина n в (1.5.3-4) определяется порядком метода, а коэффициентам 2,3, … ,n, Р1, Р2, … ,Pn подбирают такие значения, которые обеспечивают минимальную погрешность. Так, для методаРунге-Кутты четвертого порядка (n=4) получена расчетная формула при следующих коэффициентах: 2= 3=1/2, 4=1, P1 = P4=1/6, P2 = P3 =2/6.

Подставив значения коэффициентов в (1.5.3-4), имеем

(1.5.3-6)

Геометрическая интерпретация этого метода очень сложна и потому не приводится.

Погрешность метода Рунге-Кутты четвертого порядка значительно меньше методов первого и второго порядков и пропорциональна величине h (e4 =C4h5).

Пример 1.5.3-2. Решить методом Рунге-Кутты четвертого порядка ОДУ y= 2x/y с начальными условиями x0 = 1 и y0 = 1 на отрезке [1;1.4] с шагом h = 0,2.

Сведем в таблицу результаты решения уравнения y=2x/y методами Рунге-Кутты, соответственно, первого (y1i), второго (y2i) и четвертого (y4i) порядков и сравним с результатами, полученными точным методом (yi).

хi

y1i

y2i

y4i

yi

1

1.2

1.4

1

1.4

1.74286

1

1.3714

1.7091

1

1.37115

1.7089

1

1.37113

1.7088

На практике для обеспечения требуемой точности (при использовании любого приближенного метода решения ОДУ) применяется автоматический выбор шага методом двойного просчета. При этом в каждой точке хi по формуле, соответствующей выбранному методу, производится расчет yiс шагом h (yi(h))и с шагом h/2(yi(h/2)). Цель двойного просчета состоит в том, чтобы для каждой точки численного решения эти значения отличались на величину, не превышающую заданной погрешности .В этом случаеобщая формула для оценки погрешности решения ОДУ методами Рунге-Кутты имеет следующий вид:

где p – порядок метода Рунге-Кутты. Эта формула называется также правилом Рунге.

Если | yi(h))- yi(h/2)|<, то шаг для следующей точки выбирается равным h, иначе шаг уменьшается вдвое и продолжается уточнение yi в точке хi.

Схемы алгоритмов интегрированияОДУ методом Рунге-Кутты с автоматическим выбором шага приведены на рис. 1.5.3-2и рис. 1.5.3-3.

Рис. 1.5.3-2. Схема алгоритма процедуры-функции решения ОДУ в очередной точке

Рис. 1.5.3-3. Схема алгоритма интегрирования ОДУ методом Рунге-Кутты с

автоматическим выбором шага

1.5.4. Решение ОДУ n-го порядка

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

Пусть, например, требуется решить ОДУ второго порядка

,

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

Обозначим z=y’. В результате подстановки в исходное уравнение получим систему двух уравнений первого порядка

,

с двумя неизвестными функциями и и начальными условиями

, .

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

(1.5.4-1)

Решением системы(1.5.4-1) являются две функции и , из которых — решение исходного уравнения второго порядка. Выбрав, например, метод Эйлера, приближенное решение системы (1.5.4-1) можно найти с помощью двух рекуррентных формул:

Пример 1.5.4-1. Дано обыкновенное дифференциальное уравнение второго порядка при начальных условиях , , на отрезке [0;0.4] с шагом .

Обозначим , тогда ОДУ второго порядка можно записать в виде системы ОДУ первого порядка

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

Применим метод Эйлера для решения системы ОДУ

и т.д.

xi

yi

zi

0

1

2

0.2

1.4

1.6

0.4

1.72

1.808

В общем виде ОДУ n-го порядка

.

Введемследующие обозначения:

В результате этих подстановок перейдемк системеnОДУ первого порядка:

(1.5.4-2)

Решением системы (1.5.4-2) являются функции

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

Окончательным решением ОДУn-го порядка, согласно определению, служит функция , вычисленная на заданном множестве точек[a;b].

1.5.5. Сравнение методов решения ОДУ

Метод Эйлера является простейшим одношаговым методом. Однако его низкая точность (погрешность убывает пропорционально величине шага) служит серьезным препятствием для его использования на практике. Увеличение точности за счет уменьшения шага, к сожалению, приводит к росту количества итераций и соответственно увеличению ее составляющей погрешности – погрешности вычисления. Метод имеет первый порядок точности, соответствующий используемому в нем методу левых прямоугольников.

Метод «прогноза и коррекции» позволяет уточнить расчетную формулу за счет «прогноза» значения в следующей точке, полученного на первом этапе по формуле Эйлера, и «коррекции» — усреднения углового коэффициента – на втором этапе. Этот метод имеет второй порядок точности, поскольку для вычисления интеграла при вычислении приращения использована формула трапеций. По сравнению с методом Эйлера, метод «прогноза и коррекции» требует меньшее количество итераций для обеспечения заданной точности

Наиболее популярными среди классических одношаговых методов решения ОДУ являются методы Рунге-Кутты четвертого порядка. При этом метод Эйлера и метод «прогноза и коррекции» можно рассматривать как простейших представителей методов Рунге-Кутты. Методы Рунге-Кутты четвертого порядка эффективны и, если отрезок интегрирования не очень велик, обеспечивают сравнительно высокую точность.

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

1.5.7. Тестовые задания по теме «Методы решения обыкновенных дифференциальных уравнений»

Обыкновенное дифференциальное уравнение это

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

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

дифференциальное уравнение n-ого порядка

в списке нет правильного ответа

Порядок ОДУ это

количество производных, входящих в состав уравнения

наивысший порядок производной, входящей в состав уравнения

количество неизвестных, входящих в состав ОДУ

в списке нет правильного ответа

Общим решением ОДУ является

таблица значений искомой функции

в списке нет правильного ответа

Частным решением ОДУ является

таблица значений искомой функции

в списке нет правильного ответа

Численным решением ОДУ является

таблица значений искомой функции

в списке нет правильного ответа

— эта формула используется для определения очередного значения функции по методу

Рунге-Кутты 2-го порядка

Рунге-Кутты 4-го порядка

Рунге-Кутты 1-го порядка

в списке нет правильного ответа

Уменьшение шага интегрирования при использовании методов Рунге-Кутты

увеличивает погрешность

не влияет на погрешность

в списке нет правильного ответа

уменьшает погрешность

Очередная точка решения ОДУ методом Рунге-Кутты вычисляется на основании

одного предыдущего значения функции

двух предыдущих значений функции

трех предыдущих значений функции

всех предыдущих значений функции

Применение переменного шага является

невозможным в методах Рунге-Кутты

возможным во всех методах Рунге-Кутты

возможным только в методе Рунге-Кутты 4-го порядка

возможным только в методе Эйлера

Погрешность метода Эйлера пропорциональна

шагу

шагу, возведенному в куб

шагу, возведенному в квадрат

двум шагам

Чтобы применить методы Рунге-Кутты при решении ОДУ 2-го порядка нужно

привести ОДУ 2-го порядка к ОДУ 1-го порядка

иметь информацию о двух начальных точках решения



Страницы: 1 | 2 | Весь текст




map