Лабораторная работа 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