Главная » Курсовые » Численные методы

Лабараторная работа 5. Численное решение задачи Коши для обыкновенных дифференциальных уравнений

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

Описание метода Рунге-Кутта четвертого порядка точности.

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

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

x – независимая переменная.

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

В ряде случаев из общей записи дифференциального уравнения удается выразить старшую производную в явном виде.

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

Решением дифференциального уравнения n-го порядка называется всякая n раз дифференцируемая функция , которая после ее подстановки в уравнение обращает его в тождество. График функции   называют интегральной кривой.

Общее решение обыкновенного дифференциального уравнения содержит n произвольных постоянных :

.        

Если дополнительные условия задаются в одной точке, то такая задача называется задачей Коши. Дополнительные условия в задаче Коши называются начальными условиями, а точка  , в которой они задаются, – начальной точкой. Начальные условия могут быть заданы следующим образом:

В основу семейства алгоритмов Рунге-Кутта положена идея аппроксимации рядом Тейлора. Метод Рунге-Кутта четвертого порядка относится к явным алгоритмам. Он использует промежуточные моменты времени для вычисления состояния в момент времени tk+1. Следующие формулы определяют алгоритм Рунге-Кутта четвертого порядка:

 

Каждое из четырех ki является аппроксимирующим значением векторного поля.

k1- значение векторного поля при xk.

k2 - аппроксимированное значение на полшага позже, в момент времени tk+h/2.

k3 - также значение векторного поля в момент tk+h/2, но вычисляется с использованием k2.

k4 - значение векторного поля в момент tk+1, вычисляется с использованием основного последнего значения k3.

Наконец, эти четыре значения усредняются, чтобы дать аппроксимацию векторного поля для определения xk+1.

Определение близости полученного заданным методом решения к точному значению производится с помощью оценок:

    , i = 1,2,…,n.

Где  QUOTE    – точное решение, yi – полученное приближенное решение.

Блок-схема алгоритма программы решения задачи Коши методом Рунге-Кутта четвертого порядка точности.

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

Алгоритм вычисления значений функции заключается в следующем:

  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]);

  1. Находим значения функции по численномк методу и по точному решению:

    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]);

  1. Вычисляем оценки:

    o1[i] := Abs(mas_y[i] - yt);

    o2 := (sqrt(sqr(mas_y[i] - yt)))/(sqrt(sqr(yt)));

 

Вариант 10.

Дано:

 QUOTE    – дифференциальное уравнение

 QUOTE   ;

 QUOTE    – начальные условия

h = 0.02

[0;0.8] – интервал интегрирования

 QUOTE    – точное решение

Ответ: δ1 = 0,00000407; δ2 = 0,00000411;

kamagra rezeptfrei in österreich cialis generika bestellen deutschland cialis generika indien
kamagra rezeptfrei in österreich cialis generika bestellen deutschland cialis generika indien