Лабараторная. Численное решение задачи Коши для

advertisement
Лабораторная работа 5. Численное решение задачи Коши для
обыкновенных дифференциальных уравнений.
Цель работы: изучение методов численного интегрирования
обыкновенных дифференциальных уравнений, практическое решение
уравнений на ЭВМ, сравнительный анализ рассмотренных методов.
Описание метода Рунге-Кутта четвертого порядка точности.
Дифференциальные
уравнения
широко
используются
для
математического моделирования процессов и явления в самых
разнообразных областях науки и техники. Движение космических объектов,
кинетика химических реакций, динамика биологических популяций в
природе, модели экономического развития и т.п., все эти явления
исследуются с помощью дифференциальных уравнений. Любая физическая
ситуация, где рассматривается степень изменения одной переменной по
отношению к другой переменной, описывается дифференциальным
уравнением.
В общем случае обыкновенными дифференциальными уравнениями
называются такие уравнения, которые содержат одну или несколько
производных от искомой функции
. Их можно записать в виде
,
где x – независимая переменная.
Наивысший порядок n входящей в уравнение производной называется
порядком дифференциального уравнения.
В ряде случаев из общей записи дифференциального уравнения удается
выразить старшую производную в явном виде. Например,
.
Такая форма записи называется уравнением, разрешенным
относительно старшей производной.
Решением дифференциального уравнения n-го порядка называется
всякая n раз дифференцируемая функция
, которая после ее
подстановки в уравнение обращает его в тождество. График функции
называют интегральной кривой.
Общее решение обыкновенного дифференциального уравнения
содержит n произвольных постоянных
:
.
Если дополнительные условия задаются в одной точке, то такая задача
называется задачей Коши. Дополнительные условия в задаче Коши
1
называются начальными условиями, а точка
, в которой они задаются,
– начальной точкой. Начальные условия могут быть заданы следующим
образом:
…,
В основу семейства алгоритмов Рунге-Кутта положена идея
аппроксимации рядом Тейлора. Метод Рунге-Кутта четвертого порядка
относится к явным алгоритмам. Он использует промежуточные моменты
времени для вычисления состояния в момент времени tk+1. Следующие
формулы определяют алгоритм Рунге-Кутта четвертого порядка:
Каждое из четырех ki является аппроксимирующим значением
векторного поля.
k1- значение векторного поля при xk.
k2 - аппроксимированное значение на полшага позже, в момент
времени tk+h/2.
k3 - также значение векторного поля в момент tk+h/2, но вычисляется с
использованием k2.
k4 - значение векторного поля в момент tk+1, вычисляется с
использованием основного последнего значения k3.
Наконец, эти четыре значения усредняются, чтобы дать
аппроксимацию векторного поля для определения xk+1.
Определение близости полученного заданным методом решения к
точному значению производится с помощью оценок:
, i = 1,2,…,n.
Где
– точное решение, yi – полученное приближенное решение.
2
Блок-схема алгоритма программы решения задачи Коши методом
Рунге-Кутта четвертого порядка точности.
При запуске программы требуется ввод дифференциального уравнения,
начальных условий, шага, интервала интегрирования и точного решения.
Алгоритм вычисления значений функции заключается в следующем:
1. Находим значения векторного поля по формулам:
mas_k[1] := f1(x, y, y1);
mas_m[1] := f2(x, y, y1);
mas_k[2] := f1(x + h/2, y + (h*mas_k[1])/2, y1 + (h*mas_m[1])/2);
mas_m[2] := f2(x + h/2, y + (h*mas_k[1])/2, y1 + (h*mas_m[1])/2);
mas_k[3] := f1(x + h/2, y + (h*mas_k[2])/2, y1 + (h*mas_m[2])/2);
mas_m[3] := f2(x + h/2, y + (h*mas_k[2])/2, y1 + (h*mas_m[2])/2);
mas_k[4] := f1(x + h, y + h*mas_k[3], y1 + h*mas_m[3]);
mas_m[4] := f2(x + h, y + h*mas_k[3], y1 + h*mas_m[3]);
2. Находим значения функции по численномк методу и по точному
решению:
y := y + h/6*(mas_k[1] + 2*mas_k[2] + 2*mas_k[3] + mas_k[4]);
y1 := y1 + h/6*(mas_m[1] + 2*mas_m[2] + 2*mas_m[3] + mas_m[4]);
3. Вычисляем оценки:
o1[i] := Abs(mas_y[i] - yt);
o2 := (sqrt(sqr(mas_y[i] - yt)))/(sqrt(sqr(yt)));
Вариант 10.
Дано:
– дифференциальное уравнение
;
– начальные условия
h = 0.02
[0;0.8] – интервал интегрирования
– точное решение
Ответ: δ1 = 0,00000407; δ2 = 0,00000411;
3
4
Download