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

курсовая работа

2.5 Блок-схема алгоритма

Рис. 2.2. Блок-схема алгоритма Рунге-Кутта для дифференциального уравнения 1-го порядка

Рис. 2.3. Функция f(x,y:real):real

2.6.Программа на языке Turbo Pascal

Текст программы:

program rungekutt1_v3;

var

x0,xn,y0,h,x,y,k1,k2,k3,k4:real;

n,i:integer;

inp,ou:text;

function f(x,y:real):real;

begin

f:=exp(x+c*y)+1

end;

begin

assign(inp,inp1.txt);

reset(inp);

read(inp,x0,xn,n,y0);

close(inp);

h:=(xn-x0)/n;

x:=x0;

y:=y0;

assign(ou,ou1.txt);

rewrite(ou);

writeln(ou, x, ,y);

writeln(ou,x:2:1, ,y:7:6);

for i:=0 to n-1 do

begin

k1:=h*f(x,y);

k2:=h*f(x+h/2,y+k1/2);

k3:=h*f(x+h/2,y+k2/2);

k4:=h*f(x+h,y+k3);

y:=y+(k1+2*k2+2*k3+k4)/6;

x:=x+h;

writeln(ou,x:2:1, ,y:7:6)

end;

close(ou)

end.

2.7 Выполнение расчетов

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

2.8 Результаты расчетов

Результаты расчетов пишутся в файл ou1.txt.

x y

0.0 0.000000

0.1 0.207392

0.2 0.431310

0.3 0.674812

0.4 0.941709

0.5 1.236818

0.6 1.566340

0.7 1.938427

0.8 2.364085

0.9 2.858650

1.0 3.444396

1.1 4.155418

1.2 5.047809

1.3 6.223828

1.4 7.902422

1.5 10.714022

2.9 Представление результатов в виде графиков

Построим графики численного решения данного уравнения в Excel методами Эйлера и Рунге-Кутта.

Рис. 2.4. График зависимости у(х).

2.10 Анализ результатов

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

Результаты, полученные при расчете с использованием Turbo Pascal 7.0 совпадают с расчетами (методами Эйлера и Рунге-Кутта) в Excel, что является косвенным признаком правильности решения задачи.

3. МЕТОД РУНГЕ-КУТТА ДЛЯ ДИФФЕРЕНЦИАЛЬНОГО УРАВНЕНИЯ ВТОРОГО ПОРЯДКА

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

1) Решить численно указанную задачу Коши для уравнения второго порядка методом Рунге-Кутта, с помощью программы на языке Turbo Pascal 7.0.

2) Построить графики решения и его производной в Excel с помощью мастера диаграмм.

3) Провести анализ полученных результатов.

3.2 Математическая модель задачи

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

(1.12)

на отрезке [a, b] с начальными условиями .

Это уравнение легко свести к системе уравнений первого порядка с помощью замены переменных: . Тогда и уравнение (1.12) сводится к системе первого порядка

(1.13)

с начальными условиями y(a)=y0, z(a)=z0 , где за z0 обозначено y10.

Данная система может решаться как система двух уравнений первого порядка (1.8)-(1.9), где

(1.8)

на отрезке [a, b] с начальными условиями

, (1.9)

Формулы метода Рунге - Кутта для системы двух уравнений имеют вид:

(1.10)

Где

(1.11)

Последовательно вычисляются на каждом шаге , а затем , где .

3.3 Исходные данные

Уравнение: .

Аргумент: [0.5,1.5].

Начальные условия: .

Число отрезков разбиения n: 10.

3.4 Расчет контрольного варианта в Excel для тестирования

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

Делись добром ;)